~jan-kneschke/mysql-proxy/packet-tracking-assertions

« back to all changes in this revision

Viewing changes to lib/posix.c

  • Committer: jan at mysql
  • Date: 2010-09-03 10:38:30 UTC
  • Revision ID: jan@mysql.com-20100903103830-b7cxzn1i49ma9y3o
stabilize the failover test

  * use kill(..., SIGKILL) to kill the backend right away instead of using _set_shutdown()
  * renamed COMMIT SUICIDE to KILL BACKEND
  * let the KILL BACKEND fail with 'connection went away ...' as the synchronization point 

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
#include <pwd.h>
12
12
#endif
13
13
 
 
14
#ifdef HAVE_SIGNAL_H
 
15
#include <signal.h>
 
16
#endif
 
17
 
14
18
#include <lua.h>
15
19
#include <lauxlib.h>
16
20
#include <lualib.h>
27
31
        return 1;
28
32
}
29
33
 
 
34
#ifdef HAVE_SIGNAL_H
 
35
static int lua_kill (lua_State *L) {
 
36
        pid_t pid = luaL_checkinteger (L, 1);
 
37
        int sig = luaL_checkinteger (L, 2);
 
38
 
 
39
        lua_pushinteger(L, kill(pid, sig));
 
40
 
 
41
        return 1;
 
42
}
 
43
#endif
 
44
 
 
45
#ifdef HAVE_PWD_H
30
46
static int lua_getpwuid(lua_State *L) {
31
47
        struct passwd *p;
32
48
        int uid = luaL_checkinteger (L, 1);
55
71
 
56
72
        return 1;
57
73
}
 
74
#endif
58
75
 
59
76
/*
60
77
** Assumes the table is on top of the stack.
61
78
*/
62
79
static void set_info (lua_State *L) {
63
80
        lua_pushliteral (L, "_COPYRIGHT");
64
 
        lua_pushliteral (L, "Copyright (C) 2008 MySQL AB");
 
81
        lua_pushliteral (L, "Copyright (C) 2008-2010 Oracle Inc");
65
82
        lua_settable (L, -3);
66
83
        lua_pushliteral (L, "_DESCRIPTION");
67
84
        lua_pushliteral (L, "export posix-functions as posix.*");
75
92
static const struct luaL_reg posixlib[] = {
76
93
        {"getpid", lua_getpid},
77
94
        {"getuid", lua_getuid},
 
95
#ifdef HAVE_PWD_H
78
96
        {"getpwuid", lua_getpwuid},
 
97
#endif
 
98
#ifdef HAVE_SIGNAL_H
 
99
        {"kill", lua_kill},
 
100
#endif
79
101
        {NULL, NULL},
80
102
};
81
103
 
90
112
        set_info (L);
91
113
        return 1;
92
114
}
 
115