Advertisement
Guest User

Untitled

a guest
Nov 21st, 2014
271
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.91 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <unistd.h>
  3. #include <stdlib.h>
  4.  
  5. #include "lmdb.h"
  6.  
  7. int main () {
  8.     MDB_env *env;
  9.     MDB_txn *txn;
  10.     int rc;
  11.  
  12.     rc= fork ();
  13.     if (rc==0) {
  14.         // first child
  15.         rc= mdb_env_create (&env);
  16.         rc= mdb_env_open (env, ".", 0, 0644);
  17.         printf ("1: about to lock\n");
  18.         rc= mdb_txn_begin (env, NULL, 9, &txn);
  19.         printf ("1: locked!\n");
  20.         sleep (3);
  21.         printf ("1: exiting\n");
  22.     exit(0);
  23.     } else if (rc>0) {
  24.         sleep(1);
  25.         rc= fork ();
  26.         if (rc==0) {
  27.             // second child
  28.             rc= mdb_env_create (&env);
  29.             rc= mdb_env_open (env, ".", 0, 0644);
  30.             printf ("2: about to lock\n");
  31.             rc= mdb_txn_begin (env, NULL, 9, &txn);
  32.             printf ("2: locked!\n");
  33.             sleep (3);
  34.             mdb_env_close (env);
  35.             printf ("2: out\n");
  36.         }
  37.     }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement