diff options
author | Steve Bennett <steveb@workware.net.au> | 2009-07-28 16:22:31 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2010-10-15 10:11:02 +1000 |
commit | 6461e8bf6ddf82ee974b4c63458915490d74a5ce (patch) | |
tree | 27840de122ee2ef0e8a5bc9ac6940615508324d1 /jim-aio.c | |
parent | 8df2449dc136716024d3423d8c1b5412759293a1 (diff) | |
download | jimtcl-6461e8bf6ddf82ee974b4c63458915490d74a5ce.zip jimtcl-6461e8bf6ddf82ee974b4c63458915490d74a5ce.tar.gz jimtcl-6461e8bf6ddf82ee974b4c63458915490d74a5ce.tar.bz2 |
Small improvements
Save (but then cleanup) generated extensions
Add package and readdir to 'all' extensions
Order of static extensions matters!!
Simple C define support for configured extensions
Fix some compiler warnings
Diffstat (limited to 'jim-aio.c')
-rw-r--r-- | jim-aio.c | 22 |
1 files changed, 13 insertions, 9 deletions
@@ -50,12 +50,6 @@ #include <arpa/inet.h> #include <netdb.h> -/* FIX!!! add #if's to make JIM_SUPPORT_EVENTLOOP enable/disable - * eventloop support compile time! */ -#ifndef JIM_SUPPORT_EVENTLOOP -#define JIM_SUPPORT_EVENTLOOP 1 -#endif - #include "jim.h" #include "jim-eventloop.h" @@ -116,6 +110,7 @@ static void JimAioDelProc(Jim_Interp *interp, void *privData) fclose(af->fp); if (!af->OpenFlags == AIO_FDOPEN) // fp = fdopen(fd) !! close(af->fd); +#ifdef with_jim_ext_eventloop if (af->rEvent) { // remove existing EventHandlers Jim_DeleteFileHandler(interp,af->fp); Jim_DecrRefCount(interp,af->rEvent); @@ -128,6 +123,7 @@ static void JimAioDelProc(Jim_Interp *interp, void *privData) Jim_DeleteFileHandler(interp,af->fp); Jim_DecrRefCount(interp,af->eEvent); } +#endif Jim_Free(af); } @@ -144,7 +140,9 @@ static int JimAioHandlerCommand(Jim_Interp *interp, int argc, "gets", "read", "puts", "flush", "eof", "ndelay", +#ifdef with_jim_ext_eventloop "readable", "writable", "onexception", +#endif "accept", NULL }; @@ -153,7 +151,9 @@ static int JimAioHandlerCommand(Jim_Interp *interp, int argc, OPT_GETS, OPT_READ, OPT_PUTS, OPT_FLUSH, OPT_EOF, OPT_NDELAY, +#ifdef with_jim_ext_eventloop OPT_READABLE, OPT_WRITABLE, OPT_EXCEPTION, +#endif OPT_ACCEPT, }; @@ -394,7 +394,9 @@ static int JimAioHandlerCommand(Jim_Interp *interp, int argc, #else return JIM_ERR; #endif - } else if ( (option == OPT_READABLE) + } +#ifdef with_jim_ext_eventloop + else if ( (option == OPT_READABLE) || (option == OPT_WRITABLE) || (option == OPT_EXCEPTION) ) { @@ -450,7 +452,9 @@ static int JimAioHandlerCommand(Jim_Interp *interp, int argc, Jim_WrongNumArgs(interp, 2, argv, ""); return JIM_ERR; } - } else if (option == OPT_ACCEPT) { + } +#endif + else if (option == OPT_ACCEPT) { return JimAioAcceptHelper(interp,af); } return JIM_OK; @@ -653,7 +657,7 @@ static int JimAioSockCommand(Jim_Interp *interp, int argc, static int JimAioAcceptHelper(Jim_Interp *interp, AioFile *serv_af ) { int sock; - int addrlen = sizeof(struct sockaddr_in); + socklen_t addrlen = sizeof(struct sockaddr_in); AioFile *af; char buf[AIO_CMD_LEN]; long fileId; |