Re: My way to check if a progam is already running
- From: Rainer Weikusat <rweikusat@xxxxxxxxxxx>
- Date: Mon, 25 Jun 2007 10:30:28 +0200
Jan Panteltje <pNaonStpealmtje@xxxxxxxxx> writes:
[...]
/* test if file is locked */
i = 0;
while(1)
{
a = lockf(fileno(lockfile), F_TEST, 0);
if(a != -1) break;
if(errno != EAGAIN)
{
fprintf(stderr, "MyProgram: An other MyProgram is already running, aborting.\n");
exit(1);
}
i++;
if(i == 1000) // 10 S
{
fprintf(stderr, "MyProgram: timeout EAGAIN waiting for lockf() F_TEST, aborting.\n");
exit(1);
}
usleep(10000); // 10 ms
}
This loop is totally useless, because by the time you do the second
lockf call, the file may or may not be locked and it doesn't matter
what another lockf call happening in the past returned.
.
/* lock the file */
i = 0;
while(1)
{
a = lockf(fileno(lockfile), F_TLOCK, 0);
if(a != -1) break;
if(errno != EAGAIN)
{
perror(" MyProgram: could not lock lockfile because: ");
exit(1);
}
i++;
if(i == 1000) // 10 s
{
fprintf(stderr, "MyProgram: timeout EAGAIN waiting for lockf() F_TLOCK, aborting.\n");
exit(1);
}
usleep(10000); // 10 ms
}
/* file stays open, else lock is lost */
- Follow-Ups:
- Re: My way to check if a progam is already running
- From: Jan Panteltje
- Re: My way to check if a progam is already running
- References:
- My way to check if a progam is already running
- From: Jan Panteltje
- Re: My way to check if a progam is already running
- From: Michal Nazarewicz
- Re: My way to check if a progam is already running
- From: Jan Panteltje
- Re: My way to check if a progam is already running
- From: Michal Nazarewicz
- Re: My way to check if a progam is already running
- From: Jan Panteltje
- Re: My way to check if a progam is already running
- From: Michal Nazarewicz
- Re: My way to check if a progam is already running
- From: Jan Panteltje
- Re: My way to check if a progam is already running
- From: Michal Nazarewicz
- Re: My way to check if a progam is already running
- From: panteltje
- Re: My way to check if a progam is already running
- From: Michal Nazarewicz
- Re: My way to check if a progam is already running
- From: Jan Panteltje
- Re: My way to check if a progam is already running
- From: Jan Panteltje
- Re: My way to check if a progam is already running
- From: Michal Nazarewicz
- Re: My way to check if a progam is already running
- From: Jan Panteltje
- My way to check if a progam is already running
- Prev by Date: Re: collecting "oobs" message for user applications (WAS: Re: stack trace without core)
- Next by Date: how to debug my won kernel module?
- Previous by thread: Re: My way to check if a progam is already running
- Next by thread: Re: My way to check if a progam is already running
- Index(es):
Relevant Pages
|