32 messages in net.sourceforge.lists.courier-maildrop[maildropl] No 1 sec guarantee on Lin...
FromSent OnAttachments
Sam VarshavchikJan 13, 2003 3:46 pm 
D. J. BernsteinJan 13, 2003 6:11 pm 
Sam VarshavchikJan 13, 2003 9:11 pm 
Russell NelsonJan 13, 2003 9:46 pm 
Sam VarshavchikJan 13, 2003 10:19 pm 
Russell NelsonJan 13, 2003 11:11 pm 
Sam VarshavchikJan 13, 2003 11:35 pm 
mw-l...@csi.huJan 14, 2003 7:40 am 
Sam VarshavchikJan 14, 2003 3:22 pm 
mw-l...@csi.huJan 14, 2003 11:13 pm 
Sam VarshavchikJan 15, 2003 5:11 am 
Matthias AndreeJan 15, 2003 9:55 am 
Matthias AndreeJan 15, 2003 12:59 pm 
Matthias AndreeJan 15, 2003 1:36 pm 
Sam VarshavchikJan 15, 2003 3:11 pm 
Matthias AndreeJan 15, 2003 4:13 pm 
Sam VarshavchikJan 15, 2003 4:47 pm 
Johan LindhJan 15, 2003 10:16 pm 
Peter C. NortonJan 15, 2003 11:52 pm 
Bill MichellJan 16, 2003 1:30 am 
Johan LindhJan 16, 2003 2:00 am 
Bill MichellJan 16, 2003 2:28 am 
Matthias AndreeJan 16, 2003 2:28 am 
Matthias AndreeJan 16, 2003 2:45 am 
David LaightJan 16, 2003 3:14 am 
Sam VarshavchikJan 16, 2003 5:01 am 
Johan LindhJan 16, 2003 6:28 am 
Matthias AndreeJan 16, 2003 9:47 am 
mw-l...@csi.huJan 16, 2003 12:48 pm 
Sam VarshavchikJan 16, 2003 2:55 pm 
mw-l...@csi.huJan 17, 2003 12:30 pm 
Matthias AndreeJan 18, 2003 5:05 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[maildropl] No 1 sec guarantee on Linux, was: OpenBSD 3.2 breaks Courier, Qmail.Actions...
From:mw-l...@csi.hu (mw-l@csi.hu)
Date:Jan 16, 2003 12:48:42 pm
List:net.sourceforge.lists.courier-maildrop

Well, Linux has no 1 second guarantees either. At the suggestion of Matthias, I now have a programm that recycles the same PID in much less than 1 second.

Here is the run of the program:

$ ./child Collision after 0.14 secs! child: 32383 PID: 13145

The hardware is an 1100MHz, 256M RAM Athlon box, running RH Linux 8.0.

Here is the program

#include <stdio.h> #include <sys/types.h> #include <sys/wait.h> #include <time.h> #include <unistd.h>

#define NCHILD 33000

int main(void) { int i; pid_t pid, pid1 = 0; int status; clock_t start, end;

start = clock();

for(i = 1; i <= NCHILD; i++) { if ((pid = vfork()) < 0) { perror("fork"); _exit(1); } if (pid == 0) _exit(1); if (i == 1) pid1 = pid; if(i != 1 && pid1 == pid) { end = clock(); printf("Collision after\t%.2f secs! ", (double)(end -
start)/(double)CLOCKS_PER_SEC); printf("child:\t%d\tPID:\t%d\n", i, pid); _exit(20); } while (wait(&status) != pid); } return 0; }

Mate