Mercurial > prosody-hg
annotate util-src/pposix.c @ 796:63f56696c66c
util.pposix: Fix incompatible pointer type compiler warnings
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Fri, 13 Feb 2009 15:01:46 +0000 |
| parents | 433a5226267f |
| children | 9bc1544c99b7 |
| rev | line source |
|---|---|
|
766
433a5226267f
Licensing/version updates for some files (forgot to commit, doh...)
Matthew Wild <mwild1@gmail.com>
parents:
730
diff
changeset
|
1 /* Prosody IM v0.3 |
|
433a5226267f
Licensing/version updates for some files (forgot to commit, doh...)
Matthew Wild <mwild1@gmail.com>
parents:
730
diff
changeset
|
2 -- Copyright (C) 2008-2009 Matthew Wild |
|
433a5226267f
Licensing/version updates for some files (forgot to commit, doh...)
Matthew Wild <mwild1@gmail.com>
parents:
730
diff
changeset
|
3 -- Copyright (C) 2008-2009 Waqas Hussain |
|
586
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 -- |
|
766
433a5226267f
Licensing/version updates for some files (forgot to commit, doh...)
Matthew Wild <mwild1@gmail.com>
parents:
730
diff
changeset
|
5 -- This project is MIT/X11 licensed. Please see the |
|
433a5226267f
Licensing/version updates for some files (forgot to commit, doh...)
Matthew Wild <mwild1@gmail.com>
parents:
730
diff
changeset
|
6 -- COPYING file in the source package for more information. |
|
433a5226267f
Licensing/version updates for some files (forgot to commit, doh...)
Matthew Wild <mwild1@gmail.com>
parents:
730
diff
changeset
|
7 -- |
|
586
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 */ |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 |
|
766
433a5226267f
Licensing/version updates for some files (forgot to commit, doh...)
Matthew Wild <mwild1@gmail.com>
parents:
730
diff
changeset
|
10 /* |
|
433a5226267f
Licensing/version updates for some files (forgot to commit, doh...)
Matthew Wild <mwild1@gmail.com>
parents:
730
diff
changeset
|
11 * pposix.c |
|
433a5226267f
Licensing/version updates for some files (forgot to commit, doh...)
Matthew Wild <mwild1@gmail.com>
parents:
730
diff
changeset
|
12 * POSIX support functions for Lua |
|
586
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 */ |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
14 |
|
727
78c9542de94e
pposix: Add _NAME and _VERSION
Matthew Wild <mwild1@gmail.com>
parents:
723
diff
changeset
|
15 #define MODULE_VERSION "0.3.0" |
|
78c9542de94e
pposix: Add _NAME and _VERSION
Matthew Wild <mwild1@gmail.com>
parents:
723
diff
changeset
|
16 |
|
586
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
17 #include <stdlib.h> |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
18 #include <unistd.h> |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
19 #include <libgen.h> |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 #include <sys/types.h> |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
21 #include <sys/stat.h> |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
22 #include <fcntl.h> |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
23 |
|
722
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
24 #include <syslog.h> |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
25 |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
26 #include <string.h> |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
27 |
|
586
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
28 #include "lua.h" |
|
722
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
29 #include "lauxlib.h" |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
30 |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
31 /* Daemonization support */ |
|
586
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
32 |
|
723
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
33 static int lc_daemonize(lua_State *L) |
|
586
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
34 { |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
35 |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
36 pid_t pid; |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
37 |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
38 if ( getppid() == 1 ) |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
39 { |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
40 lua_pushboolean(L, 0); |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
41 lua_pushstring(L, "already-daemonized"); |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
42 return 2; |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
43 } |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
44 |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
45 /* Attempt initial fork */ |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
46 if((pid = fork()) < 0) |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
47 { |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
48 /* Forking failed */ |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
49 lua_pushboolean(L, 0); |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
50 lua_pushstring(L, "fork-failed"); |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
51 return 2; |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
52 } |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
53 else if(pid != 0) |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
54 { |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
55 /* We are the parent process */ |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
56 lua_pushboolean(L, 1); |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
57 lua_pushnumber(L, pid); |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
58 return 2; |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
59 } |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
60 |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
61 /* and we are the child process */ |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
62 if(setsid() == -1) |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
63 { |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
64 /* We failed to become session leader */ |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
65 /* (we probably already were) */ |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
66 lua_pushboolean(L, 0); |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
67 lua_pushstring(L, "setsid-failed"); |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
68 return 2; |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
69 } |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
70 |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
71 /* Close stdin, stdout, stderr */ |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
72 /* close(0); |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
73 close(1); |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
74 close(2); |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
75 */ |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
76 /* Final fork, use it wisely */ |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
77 if(fork()) |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
78 exit(0); |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
79 |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
80 /* Show's over, let's continue */ |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
81 lua_pushboolean(L, 1); |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
82 lua_pushnil(L); |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
83 return 2; |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
84 } |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
85 |
|
722
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
86 /* Syslog support */ |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
87 |
|
796
63f56696c66c
util.pposix: Fix incompatible pointer type compiler warnings
Matthew Wild <mwild1@gmail.com>
parents:
766
diff
changeset
|
88 const char * const facility_strings[] = { |
|
63f56696c66c
util.pposix: Fix incompatible pointer type compiler warnings
Matthew Wild <mwild1@gmail.com>
parents:
766
diff
changeset
|
89 "auth", |
|
722
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
90 "authpriv", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
91 "cron", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
92 "daemon", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
93 "ftp", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
94 "kern", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
95 "local0", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
96 "local1", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
97 "local2", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
98 "local3", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
99 "local4", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
100 "local5", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
101 "local6", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
102 "local7", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
103 "lpr", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
104 "mail", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
105 "syslog", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
106 "user", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
107 "uucp", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
108 NULL |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
109 }; |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
110 int facility_constants[] = { |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
111 LOG_AUTH, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
112 LOG_AUTHPRIV, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
113 LOG_CRON, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
114 LOG_DAEMON, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
115 LOG_FTP, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
116 LOG_KERN, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
117 LOG_LOCAL0, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
118 LOG_LOCAL1, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
119 LOG_LOCAL2, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
120 LOG_LOCAL3, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
121 LOG_LOCAL4, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
122 LOG_LOCAL5, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
123 LOG_LOCAL6, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
124 LOG_LOCAL7, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
125 LOG_LPR, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
126 LOG_MAIL, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
127 LOG_NEWS, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
128 LOG_SYSLOG, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
129 LOG_USER, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
130 LOG_UUCP, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
131 -1 |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
132 }; |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
133 |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
134 /* " |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
135 The parameter ident in the call of openlog() is probably stored as-is. |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
136 Thus, if the string it points to is changed, syslog() may start |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
137 prepending the changed string, and if the string it points to ceases to |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
138 exist, the results are undefined. Most portable is to use a string |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
139 constant. |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
140 " -- syslog manpage |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
141 */ |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
142 char* syslog_ident = NULL; |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
143 |
|
723
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
144 int lc_syslog_open(lua_State* L) |
|
722
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
145 { |
|
796
63f56696c66c
util.pposix: Fix incompatible pointer type compiler warnings
Matthew Wild <mwild1@gmail.com>
parents:
766
diff
changeset
|
146 int facility = luaL_checkoption(L, 2, "daemon", facility_strings); |
|
722
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
147 facility = facility_constants[facility]; |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
148 |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
149 luaL_checkstring(L, 1); |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
150 |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
151 if(syslog_ident) |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
152 free(syslog_ident); |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
153 |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
154 syslog_ident = strdup(lua_tostring(L, 1)); |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
155 |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
156 openlog(syslog_ident, LOG_PID, facility); |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
157 return 0; |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
158 } |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
159 |
|
796
63f56696c66c
util.pposix: Fix incompatible pointer type compiler warnings
Matthew Wild <mwild1@gmail.com>
parents:
766
diff
changeset
|
160 const char * const level_strings[] = { |
|
722
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
161 "debug", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
162 "info", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
163 "notice", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
164 "warn", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
165 "error", |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
166 NULL |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
167 }; |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
168 int level_constants[] = { |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
169 LOG_DEBUG, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
170 LOG_INFO, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
171 LOG_NOTICE, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
172 LOG_WARNING, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
173 LOG_EMERG, |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
174 -1 |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
175 }; |
|
723
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
176 int lc_syslog_log(lua_State* L) |
|
722
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
177 { |
|
796
63f56696c66c
util.pposix: Fix incompatible pointer type compiler warnings
Matthew Wild <mwild1@gmail.com>
parents:
766
diff
changeset
|
178 int level = luaL_checkoption(L, 1, "notice", level_strings); |
|
722
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
179 level = level_constants[level]; |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
180 |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
181 luaL_checkstring(L, 2); |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
182 |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
183 syslog(level, "%s", lua_tostring(L, 2)); |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
184 return 0; |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
185 } |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
186 |
|
723
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
187 int lc_syslog_close(lua_State* L) |
|
722
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
188 { |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
189 closelog(); |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
190 if(syslog_ident) |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
191 { |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
192 free(syslog_ident); |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
193 syslog_ident = NULL; |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
194 } |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
195 return 0; |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
196 } |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
197 |
|
729
f62ef65d5c01
pposix: Add syslog_setmask (use config: minimum_log_level = 'warn' etc.)
Matthew Wild <mwild1@gmail.com>
parents:
727
diff
changeset
|
198 int lc_syslog_setmask(lua_State* L) |
|
f62ef65d5c01
pposix: Add syslog_setmask (use config: minimum_log_level = 'warn' etc.)
Matthew Wild <mwild1@gmail.com>
parents:
727
diff
changeset
|
199 { |
|
796
63f56696c66c
util.pposix: Fix incompatible pointer type compiler warnings
Matthew Wild <mwild1@gmail.com>
parents:
766
diff
changeset
|
200 int level_idx = luaL_checkoption(L, 1, "notice", level_strings); |
|
729
f62ef65d5c01
pposix: Add syslog_setmask (use config: minimum_log_level = 'warn' etc.)
Matthew Wild <mwild1@gmail.com>
parents:
727
diff
changeset
|
201 int mask = 0; |
|
f62ef65d5c01
pposix: Add syslog_setmask (use config: minimum_log_level = 'warn' etc.)
Matthew Wild <mwild1@gmail.com>
parents:
727
diff
changeset
|
202 do |
|
f62ef65d5c01
pposix: Add syslog_setmask (use config: minimum_log_level = 'warn' etc.)
Matthew Wild <mwild1@gmail.com>
parents:
727
diff
changeset
|
203 { |
|
f62ef65d5c01
pposix: Add syslog_setmask (use config: minimum_log_level = 'warn' etc.)
Matthew Wild <mwild1@gmail.com>
parents:
727
diff
changeset
|
204 mask |= LOG_MASK(level_constants[level_idx]); |
|
f62ef65d5c01
pposix: Add syslog_setmask (use config: minimum_log_level = 'warn' etc.)
Matthew Wild <mwild1@gmail.com>
parents:
727
diff
changeset
|
205 } while (++level_idx<=4); |
|
f62ef65d5c01
pposix: Add syslog_setmask (use config: minimum_log_level = 'warn' etc.)
Matthew Wild <mwild1@gmail.com>
parents:
727
diff
changeset
|
206 |
|
f62ef65d5c01
pposix: Add syslog_setmask (use config: minimum_log_level = 'warn' etc.)
Matthew Wild <mwild1@gmail.com>
parents:
727
diff
changeset
|
207 setlogmask(mask); |
|
f62ef65d5c01
pposix: Add syslog_setmask (use config: minimum_log_level = 'warn' etc.)
Matthew Wild <mwild1@gmail.com>
parents:
727
diff
changeset
|
208 return 0; |
|
f62ef65d5c01
pposix: Add syslog_setmask (use config: minimum_log_level = 'warn' etc.)
Matthew Wild <mwild1@gmail.com>
parents:
727
diff
changeset
|
209 } |
|
f62ef65d5c01
pposix: Add syslog_setmask (use config: minimum_log_level = 'warn' etc.)
Matthew Wild <mwild1@gmail.com>
parents:
727
diff
changeset
|
210 |
|
723
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
211 /* getpid */ |
|
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
212 |
|
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
213 int lc_getpid(lua_State* L) |
|
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
214 { |
|
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
215 lua_pushinteger(L, getpid()); |
|
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
216 return 1; |
|
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
217 } |
|
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
218 |
|
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
219 /* Register functions */ |
|
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
220 |
|
586
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
221 int luaopen_util_pposix(lua_State *L) |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
222 { |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
223 lua_newtable(L); |
|
722
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
224 |
|
723
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
225 lua_pushcfunction(L, lc_daemonize); |
|
586
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
226 lua_setfield(L, -2, "daemonize"); |
|
722
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
227 |
|
723
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
228 lua_pushcfunction(L, lc_syslog_open); |
|
722
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
229 lua_setfield(L, -2, "syslog_open"); |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
230 |
|
723
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
231 lua_pushcfunction(L, lc_syslog_close); |
|
722
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
232 lua_setfield(L, -2, "syslog_close"); |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
233 |
|
723
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
234 lua_pushcfunction(L, lc_syslog_log); |
|
722
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
235 lua_setfield(L, -2, "syslog_log"); |
|
63456c9d0522
mod_posix: Support for logging to syslog (log = 'syslog' in config)
Matthew Wild <mwild1@gmail.com>
parents:
588
diff
changeset
|
236 |
|
729
f62ef65d5c01
pposix: Add syslog_setmask (use config: minimum_log_level = 'warn' etc.)
Matthew Wild <mwild1@gmail.com>
parents:
727
diff
changeset
|
237 lua_pushcfunction(L, lc_syslog_setmask); |
|
f62ef65d5c01
pposix: Add syslog_setmask (use config: minimum_log_level = 'warn' etc.)
Matthew Wild <mwild1@gmail.com>
parents:
727
diff
changeset
|
238 lua_setfield(L, -2, "syslog_setminlevel"); |
|
f62ef65d5c01
pposix: Add syslog_setmask (use config: minimum_log_level = 'warn' etc.)
Matthew Wild <mwild1@gmail.com>
parents:
727
diff
changeset
|
239 |
|
723
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
240 lua_pushcfunction(L, lc_getpid); |
|
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
241 lua_setfield(L, -2, "getpid"); |
|
c1e7d280c174
mod_posix/pposix: Fix reporting of incorrect PID on daemonization. Log correct PID, and support writing a pidfile (pidfile = '/path/to/prosody.pid' in config). Added getpid() to pposix and improved function names.
Matthew Wild <mwild1@gmail.com>
parents:
722
diff
changeset
|
242 |
|
727
78c9542de94e
pposix: Add _NAME and _VERSION
Matthew Wild <mwild1@gmail.com>
parents:
723
diff
changeset
|
243 lua_pushliteral(L, "pposix"); |
|
78c9542de94e
pposix: Add _NAME and _VERSION
Matthew Wild <mwild1@gmail.com>
parents:
723
diff
changeset
|
244 lua_setfield(L, -2, "_NAME"); |
|
78c9542de94e
pposix: Add _NAME and _VERSION
Matthew Wild <mwild1@gmail.com>
parents:
723
diff
changeset
|
245 |
|
78c9542de94e
pposix: Add _NAME and _VERSION
Matthew Wild <mwild1@gmail.com>
parents:
723
diff
changeset
|
246 lua_pushliteral(L, MODULE_VERSION); |
|
78c9542de94e
pposix: Add _NAME and _VERSION
Matthew Wild <mwild1@gmail.com>
parents:
723
diff
changeset
|
247 lua_setfield(L, -2, "_VERSION"); |
|
78c9542de94e
pposix: Add _NAME and _VERSION
Matthew Wild <mwild1@gmail.com>
parents:
723
diff
changeset
|
248 |
|
586
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
249 return 1; |
|
b828d7d47973
Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
250 }; |
