PHP Code:
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
#include <st***.h>

/***
 *
 *
 *
 *  Simulazione di gestione sezione critica mediante uso di file
 *
 *
 *
 *
 ****/
#define PATH "/tmp/lock"
#define TRY 5

int check void ) {
    
    
int fd,t,err;
    
    
fd=open(PATH,O_CREAT O_RDWR O_EXCL,00751);
    
err=errno;
    
    if (
fd 0) {return 1;}
    
    for(
t=1;fd==-&& err == EEXIST && <= TRY;t++) {
        
        
fd=open(PATH,O_CREAT O_RDWR O_EXCL,00751);
        
err=errno;
        
    }
    
    if (
fd 0) {return 1;} else {return 0;}
    
}

void return_check void ){
    
    
int err;
    
errunlink(PATH);
    if ( 
err == -) { fprintf(stderr,"Impossibile controllare semaforo dopo sezione critica\n"); exit(-1);}
    
}

int main void ) {
    
    if ( 
check() == 1){
        
/*////////////////// sezione critica /////////*/ fprintf(stdout,"Sezione critica eseguita\n");
        
return_check();
        
    } else {
        
fprintf(stderr,"Impossibile entrare in sezione critica\n");
        exit(-
2);
    }
    
    return 
0;