Mon, 16 Jan 2012 04:21:17 +0000
event_callback.c: Check for event being destroyed during callback
13
3e2ea1e7b2e8
Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff
changeset
|
1 | /* LuaEvent - Copyright (C) 2007 Thomas Harning <harningt@gmail.com> |
3e2ea1e7b2e8
Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff
changeset
|
2 | * Licensed as LGPL - See doc/COPYING for details */ |
3e2ea1e7b2e8
Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff
changeset
|
3 | #ifndef LUAEVENT_H |
3e2ea1e7b2e8
Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff
changeset
|
4 | #define LUAEVENT_H |
3e2ea1e7b2e8
Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff
changeset
|
5 | |
3e2ea1e7b2e8
Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff
changeset
|
6 | #include <lua.h> |
3e2ea1e7b2e8
Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff
changeset
|
7 | #include <sys/types.h> |
76
0ad46f11657a
luaevent.h: sys/time.h is not available with MSVC, use winsock2.h on windows.
Waqas Hussain <waqas20@gmail.com>
parents:
34
diff
changeset
|
8 | #ifdef _WIN32 |
0ad46f11657a
luaevent.h: sys/time.h is not available with MSVC, use winsock2.h on windows.
Waqas Hussain <waqas20@gmail.com>
parents:
34
diff
changeset
|
9 | #include <winsock2.h> |
0ad46f11657a
luaevent.h: sys/time.h is not available with MSVC, use winsock2.h on windows.
Waqas Hussain <waqas20@gmail.com>
parents:
34
diff
changeset
|
10 | #else |
13
3e2ea1e7b2e8
Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff
changeset
|
11 | #include <sys/time.h> |
76
0ad46f11657a
luaevent.h: sys/time.h is not available with MSVC, use winsock2.h on windows.
Waqas Hussain <waqas20@gmail.com>
parents:
34
diff
changeset
|
12 | #endif |
13
3e2ea1e7b2e8
Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff
changeset
|
13 | #include <event.h> |
3e2ea1e7b2e8
Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff
changeset
|
14 | |
3e2ea1e7b2e8
Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff
changeset
|
15 | typedef struct { |
3e2ea1e7b2e8
Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff
changeset
|
16 | struct event_base* base; |
3e2ea1e7b2e8
Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff
changeset
|
17 | lua_State* loop_L; |
3e2ea1e7b2e8
Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff
changeset
|
18 | } le_base; |
3e2ea1e7b2e8
Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff
changeset
|
19 | |
22
48a109847dce
Completely refactored event_callback creation out into event_callback.
Thomas Harning Jr <harningt@gmail.com>
parents:
20
diff
changeset
|
20 | le_base* event_base_get(lua_State* L, int idx); |
23
897150985f13
Added support for timeouts and timers.
Thomas Harning Jr <harningt@gmail.com>
parents:
22
diff
changeset
|
21 | void load_timeval(double time, struct timeval *tv); |
34
64a79d8ee224
event_buffer learned how to read/write from/to sockets/file-descriptors
Thomas Harning Jr <harningt@gmail.com>
parents:
23
diff
changeset
|
22 | int getSocketFd(lua_State* L, int idx); |
22
48a109847dce
Completely refactored event_callback creation out into event_callback.
Thomas Harning Jr <harningt@gmail.com>
parents:
20
diff
changeset
|
23 | |
13
3e2ea1e7b2e8
Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff
changeset
|
24 | int luaopen_luaevent(lua_State* L); |
3e2ea1e7b2e8
Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff
changeset
|
25 | |
3e2ea1e7b2e8
Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff
changeset
|
26 | #endif |