Laus,
Could you please try the attached patch. It should make the shmget failure a bit
more verbose.
Also, never use EFFECTIVE_USER or GROUP=root if you value your system !!
Laus Conrad wrote:
Hi all,
I have just installed dbmail with exim and mysql -
compile went fine but I get the following error when
starting dbmail-imapd -
Mar 22 09:34:39 localhost dbmail/imap4d[11673]:
StartServer(): init ok. Creating children..
Mar 22 09:34:39 localhost dbmail/imap4d[11673]:
pool.c,scoreboard_new: shmget failed
Mar 22 09:34:41 localhost dbmail/imap4d[11672]:
main(): server has exited, exit status [75]
Mar 22 09:34:41 localhost dbmail/imap4d[11672]:
main(): exit
This is a copy of the config file, IMAP section
[IMAP]
EFFECTIVE_USER=root
EFFECTIVE_GROUP=root
BINDIP=194.204.96.34
PORT=143
NCHILDREN=50
MAXCHILDREN=200
MINSPARECHILDREN=2
MAXSPARECHILDREN=4
MAXCONNECTS=10000
TIMEOUT=4000
RESOLVE_IP=yes
IMAP_BEFORE_SMTP=no
TRACE_LEVEL=6
I am running gentoo, kernel 2.6.10.
Any help appreciated.
Regards
__________________________________
Do you Yahoo!?
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/
_______________________________________________
Dbmail mailing list
[email protected]
https://mailman.fastxs.nl/mailman/listinfo/dbmail
--
________________________________________________________________
Paul Stevens [EMAIL PROTECTED]
NET FACILITIES GROUP GPG/PGP: 1024D/11F8CD31
The Netherlands_______________________________________www.nfg.nl
Index: pool.c
===================================================================
--- pool.c (revision 1699)
+++ pool.c (working copy)
@@ -73,8 +73,10 @@
void scoreboard_new(serverConfig_t * conf)
{
int serr;
- if ((shmid = shmget(IPC_PRIVATE, P_SIZE, 0644 | IPC_CREAT)) == -1)
- trace(TRACE_FATAL, "%s,%s: shmget failed",__FILE__,__func__);
+ if ((shmid = shmget(IPC_PRIVATE, P_SIZE, 0644 | IPC_CREAT)) == -1) {
+ serr = errno;
+ trace(TRACE_FATAL, "%s,%s: shmget failed
[%s]",__FILE__,__func__, strerror(serr));
+ }
scoreboard = shmat(shmid, (void *) 0, 0);
serr=errno;
if (scoreboard == (Scoreboard_t *) (-1)) {