■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 最新50

くだらねえ質問はここに書き込め!Ver.Linux 2

293 :291 :2000/12/13(水) 05:05
>>292
こういうことですよね。目からウロコでした。
ありがとうございます。
でも、この方式ってLinux以外でも使えるのでしょうか、、、。

#include <stdio.h>
#include <unistd.h>
#include <sys/stat.h>

#define LOCKFILE "lock"

int main(int argc, char **argv){
 char oldname[256];
 struct stat buf;

 sprintf(oldname, "/proc/%d", getpid());

 while(symlink(oldname, LOCKFILE)){
  perror("symlink");
  if(stat(LOCKFILE, &buf)){
   perror("stat");
   unlink(LOCKFILE);
   fprintf(stderr, "unlinked dead lock\n");
  }
  sleep(1);
 }

 fprintf(stderr, "in critical section\n");
 sleep(10);

 unlink(LOCKFILE);
 return 0;
}



新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver5.26+ (01/10/21-)