aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Nehab <diego@tecgraf.puc-rio.br>2004-08-04 20:51:57 +0000
committerDiego Nehab <diego@tecgraf.puc-rio.br>2004-08-04 20:51:57 +0000
commite4d4c828d96aa1d89660e3a28d0aed4278ec5abe (patch)
tree72771cd9bfb7bb0f96b5264abe85ee04dcc26ca1
parente27fa00e1c07739945dd4369d9df0e2415ecb9ad (diff)
downloadluasocket-e4d4c828d96aa1d89660e3a28d0aed4278ec5abe.tar.gz
luasocket-e4d4c828d96aa1d89660e3a28d0aed4278ec5abe.tar.bz2
luasocket-e4d4c828d96aa1d89660e3a28d0aed4278ec5abe.zip
nanosleep patch.
-rw-r--r--FIX3
-rw-r--r--TODO1
-rw-r--r--src/timeout.c5
3 files changed, 7 insertions, 2 deletions
diff --git a/FIX b/FIX
index 2ffe9e7..15eb4a9 100644
--- a/FIX
+++ b/FIX
@@ -1 +1,2 @@
1filter.chain is coroutine-free 1gettime returns time since Unix Epoch 1/1/1970 (UTC)
2sleep is robust to interrupts
diff --git a/TODO b/TODO
index b94e1b9..2b43d3c 100644
--- a/TODO
+++ b/TODO
@@ -1,3 +1,4 @@
1fix manual for gettime and sleep
1use wim's filter.chain 2use wim's filter.chain
2use mike's "don't set to blocking before closing unless needed" patch? 3use mike's "don't set to blocking before closing unless needed" patch?
3take a look at DB's smtp patch (add "extra argument" table) 4take a look at DB's smtp patch (add "extra argument" table)
diff --git a/src/timeout.c b/src/timeout.c
index 152af29..7d55031 100644
--- a/src/timeout.c
+++ b/src/timeout.c
@@ -199,7 +199,10 @@ int tm_lua_sleep(lua_State *L)
199 n -= t.tv_sec; 199 n -= t.tv_sec;
200 t.tv_nsec = (int) (n * 1000000000); 200 t.tv_nsec = (int) (n * 1000000000);
201 if (t.tv_nsec >= 1000000000) t.tv_nsec = 999999999; 201 if (t.tv_nsec >= 1000000000) t.tv_nsec = 999999999;
202 nanosleep(&t, &r); 202 while (nanosleep(&t, &r) != 0) {
203 t.tv_sec = r.tv_sec;
204 t.tv_nsec = r.tv_nsec;
205 }
203#endif 206#endif
204 return 0; 207 return 0;
205} 208}