Friday, 31 March 2017

Semaphore exemple

this is an exemple in C, to use thread:

//progamme prod_cons.c
#include <semaphore.h>
#include <unistd.h> //pour sleep
#include <pthread.h>
#include <stdio.h>
#define N 3
sem_t occupe, libre ;
int tampon[N];
void* consommateur(void *);
void* producteur(void *);
int main() 
{ pthread_t th1,th2;
sem_init(&occupe,0,0); // initialiser les sémphores
sem_init(&libre,0,N);
pthread_create(&th1, NULL,consommateur ,NULL); //cree les threads
pthread_create(&th2,NULL,producteur,NULL);
pthread_join(th1,NULL); // attendre la fin des threads
pthread_join(th2,NULL);
      printf("ici main, fin des threads \n");
return 0;
}
void* producteur(void *depot)
{ int ip=0, nbprod=0, objet=0;
do {
        sem_wait(&libre);
// produire
        tampon[ip]=objet;
        sem_post(&occupe);
    printf("\n ici prod. : tampon[%d]= %d\n", ip,objet);
        objet++;        nbprod++;
        ip=(ip+1)%N;
        }  while ( nbprod<=30 );
        pthread_exit(NULL);
}
void* consommateur(void *retrait)
{
  int ic=0, nbcons = 0, objet;
do { sem_wait(&occupe);
// consommer
        objet = tampon[ic];
        sem_post(&libre);
        printf("\n ici cons. :tampon[%d]= %d\n", ic, objet);
        ic=(ic+1)%N;
        nbcons++;
        sleep(2);
}  while ( nbcons<=30 );
pthread_exit(NULL);}

Monday, 27 March 2017

Progest System

Try our new application version Béta:

Progest 
it's a Simple application to manage a project , 
create modules, Tasks, affect ressources.. 




Login : user
Password: user


there is some functionnlity not available. 

it's will be available in the next version soon 

Thanks for your comments. 

Wednesday, 22 March 2017

PropretyBag with JavaScript in SharePoint 2013




Hello,
as we know, Property bag are very important in SharePoint development, and to get it with JavaScript is very simple :



//wait until client object model dependencies are loaded before executing our code
ExecuteOrDelayUntilScriptLoaded(getWebProperties, "sp.js");
var webProperties;
function getWebProperties() {
    var clientContext = new SP.ClientContext.get_current();
    webProperties = clientContext.get_web().get_allProperties();
    clientContext.load(webProperties);
    clientContext.executeQueryAsync(Function.createDelegate(this, this.getWebPropertiesSucceeded), Function.createDelegate(this, this.onQueryFailed));
}
function getWebPropertiesSucceeded() {
          //debugger; //use this to force a break here
    //returns an object with all properties. 
          //Use the quick watch to expand this out to see all of them.
    var allProps = webProperties.get_fieldValues();
    var customProp = "";
         //make sure the property is there before using it.
    if(webProperties.get_fieldValues().CustomSite_Version != undefined)
    {
        var customProp = webProperties.get_fieldValues().CustomSite_Version;
    }
    alert(customProp);
}
function onQueryFailed(args, sender)
{
     //handle errors here
}



-----------
var customProp = webProperties.get_fieldValues().CustomSite_Version;

Featured Post

Developer Dashbord SharePoint PowerShell

Developer Dashbord $cs = [Microsoft.SharePoint.Administration.SPWebService]::ContentService $dash= $cs.DeveloperDashboardSettings $dash....