* - more complete [after] command with [after info] and other subcommands.
* - Win32 port
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#define JIM_EXTENSION
#define __JIM_EVENTLOOP_CORE__
#include "jim-eventloop.h"
#endif
-/* POSIX includes */
-#include <sys/time.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <sys/select.h>
-#include <errno.h>
- extern int errno;
-/* --- */
-
/* File event structure */
typedef struct Jim_FileEvent {
void *handle;
return nearest;
}
+/* --- POSIX version of Jim_ProcessEvents, for now the only available --- */
+#define JIM_FILE_EVENTS 1
+#define JIM_TIME_EVENTS 2
+#define JIM_ALL_EVENTS (JIM_FILE_EVENTS|JIM_TIME_EVENTS)
+#define JIM_DONT_WAIT 4
+
/* Process every pending time event, then every pending file event
* (that may be registered by time event callbacks just processed).
* Without special flags the function sleeps until some file event
/* Check file events */
while (fe != NULL) {
- int fd = fileno(fe->handle);
+ int fd = fileno((FILE*)fe->handle);
if (fe->mask & JIM_EVENT_READABLE)
FD_SET(fd, &rfds);
} else if (retval > 0) {
fe = eventLoop->fileEventHead;
while(fe != NULL) {
- int fd = fileno(fe->handle);
+ int fd = fileno((FILE*)fe->handle);
// fprintf(stderr,"fd: %d mask: %02x \n",fd,fe->mask);
/* This extension is not dynamically loaded, instead it's linked statically,
which is why we shouldn't use the unspecific 'Jim_OnLoad' name */
-#define Jim_OnLoad Jim_EventLoopOnLoad
-
-int Jim_OnLoad(Jim_Interp *interp)
+int Jim_EventLoopOnLoad(Jim_Interp *interp)
{
Jim_EventLoop *eventLoop;