• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/apr/locks/unix/

Lines Matching defs:new_mutex

120 static apr_status_t proc_mutex_posix_create(apr_proc_mutex_t *new_mutex,
151 char *p = apr_pstrndup(new_mutex->pool, fname, strlen(fname));
185 new_mutex->os.psem_interproc = psem;
186 new_mutex->fname = apr_pstrdup(new_mutex->pool, semname);
187 apr_pool_cleanup_register(new_mutex->pool, (void *)new_mutex,
322 static apr_status_t proc_mutex_sysv_create(apr_proc_mutex_t *new_mutex,
328 new_mutex->os.crossproc = semget(IPC_PRIVATE, 1, IPC_CREAT | 0600);
329 if (new_mutex->os.crossproc == -1) {
331 proc_mutex_sysv_cleanup(new_mutex);
335 if (semctl(new_mutex->os.crossproc, 0, SETVAL, ick) < 0) {
337 proc_mutex_sysv_cleanup(new_mutex);
338 new_mutex->os.crossproc = -1;
341 new_mutex->curr_locked = 0;
342 apr_pool_cleanup_register(new_mutex->pool,
343 (void *)new_mutex, apr_proc_mutex_cleanup,
583 static apr_status_t proc_mutex_pthread_create(apr_proc_mutex_t *new_mutex,
595 new_mutex->os.pthread_interproc = mmap(NULL, sizeof(proc_pthread_mutex_t),
598 if (new_mutex->os.pthread_interproc == MAP_FAILED) {
599 new_mutex->os.pthread_interproc = NULL;
606 new_mutex->pthread_refcounting = 1;
607 new_mutex->curr_locked = -1; /* until the mutex has been created */
609 proc_pthread_mutex_cond_locked(new_mutex) = -1;
616 proc_mutex_pthread_cleanup(new_mutex);
623 proc_mutex_pthread_cleanup(new_mutex);
638 proc_mutex_pthread_cleanup(new_mutex);
646 proc_mutex_pthread_cleanup(new_mutex);
652 if ((rv = pthread_mutex_init(&proc_pthread_mutex(new_mutex), &mattr))) {
656 proc_mutex_pthread_cleanup(new_mutex);
661 proc_pthread_mutex_refcount(new_mutex) = 1; /* first/parent reference */
662 new_mutex->curr_locked = 0; /* mutex created now */
668 proc_mutex_pthread_cleanup(new_mutex);
672 apr_pool_cleanup_register(new_mutex->pool,
673 (void *)new_mutex,
933 static apr_status_t proc_mutex_pthread_cond_create(apr_proc_mutex_t *new_mutex,
939 rv = proc_mutex_pthread_create(new_mutex, fname);
948 apr_pool_cleanup_run(new_mutex->pool, new_mutex,
957 apr_pool_cleanup_run(new_mutex->pool, new_mutex,
961 if ((rv = pthread_cond_init(&proc_pthread_mutex_cond(new_mutex),
967 apr_pool_cleanup_run(new_mutex->pool, new_mutex,
973 proc_pthread_mutex_cond_locked(new_mutex) = 0;
974 proc_pthread_mutex_cond_num_waiters(new_mutex) = 0;
1041 static apr_status_t proc_mutex_fcntl_create(apr_proc_mutex_t *new_mutex,
1047 new_mutex->fname = apr_pstrdup(new_mutex->pool, fname);
1048 rv = apr_file_open(&new_mutex->interproc, new_mutex->fname,
1051 new_mutex->pool);
1054 new_mutex->fname = apr_pstrdup(new_mutex->pool, "/tmp/aprXXXXXX");
1055 rv = apr_file_mktemp(&new_mutex->interproc, new_mutex->fname,
1057 new_mutex->pool);
1064 new_mutex->os.crossproc = new_mutex->interproc->filedes;
1065 new_mutex->interproc_closing = 1;
1066 new_mutex->curr_locked = 0;
1067 unlink(new_mutex->fname);
1068 apr_pool_cleanup_register(new_mutex->pool,
1069 (void*)new_mutex,
1190 static apr_status_t proc_mutex_flock_create(apr_proc_mutex_t *new_mutex,
1196 new_mutex->fname = apr_pstrdup(new_mutex->pool, fname);
1197 rv = apr_file_open(&new_mutex->interproc, new_mutex->fname,
1200 new_mutex->pool);
1203 new_mutex->fname = apr_pstrdup(new_mutex->pool, "/tmp/aprXXXXXX");
1204 rv = apr_file_mktemp(&new_mutex->interproc, new_mutex->fname,
1206 new_mutex->pool);
1210 proc_mutex_flock_cleanup(new_mutex);
1214 new_mutex->os.crossproc = new_mutex->interproc->filedes;
1215 new_mutex->interproc_closing = 1;
1216 new_mutex->curr_locked = 0;
1217 apr_pool_cleanup_register(new_mutex->pool, (void *)new_mutex,
1272 apr_proc_mutex_t *new_mutex;
1282 new_mutex = (apr_proc_mutex_t *)apr_pmemdup(pool, *mutex,
1284 new_mutex->pool = pool;
1285 new_mutex->fname = apr_pstrdup(pool, fname);
1286 rv = apr_file_open(&new_mutex->interproc, new_mutex->fname,
1287 APR_FOPEN_WRITE, 0, new_mutex->pool);
1291 new_mutex->os.crossproc = new_mutex->interproc->filedes;
1292 new_mutex->interproc_closing = 1;
1294 *mutex = new_mutex;
1346 static apr_status_t proc_mutex_choose_method(apr_proc_mutex_t *new_mutex,
1351 new_mutex->os.pthread_interproc = NULL;
1354 new_mutex->os.psem_interproc = NULL;
1357 new_mutex->os.crossproc = -1;
1360 new_mutex->interproc = NULL;
1361 new_mutex->interproc_closing = 0;
1368 new_mutex->meth = &mutex_fcntl_methods;
1373 new_mutex->os.crossproc = ospmutex->crossproc;
1381 new_mutex->meth = &mutex_flock_methods;
1386 new_mutex->os.crossproc = ospmutex->crossproc;
1394 new_mutex->meth = &mutex_sysv_methods;
1399 new_mutex->os.crossproc = ospmutex->crossproc;
1407 new_mutex->meth = &mutex_posixsem_methods;
1412 new_mutex->os.psem_interproc = ospmutex->psem_interproc;
1420 new_mutex->meth = &mutex_proc_pthread_methods;
1425 new_mutex->os.pthread_interproc = ospmutex->pthread_interproc;
1437 new_mutex->meth = &mutex_proc_pthread_cond_methods;
1439 new_mutex->meth = &mutex_proc_pthread_methods;
1445 new_mutex->os.pthread_interproc = ospmutex->pthread_interproc;
1449 new_mutex->meth = &mutex_sysv_methods;
1454 new_mutex->os.crossproc = ospmutex->crossproc;
1458 new_mutex->meth = &mutex_posixsem_methods;
1463 new_mutex->os.psem_interproc = ospmutex->psem_interproc;
1470 new_mutex->meth = &mutex_flock_methods;
1475 new_mutex->os.crossproc = ospmutex->crossproc;
1478 new_mutex->meth = &mutex_sysv_methods;
1483 new_mutex->os.crossproc = ospmutex->crossproc;
1486 new_mutex->meth = &mutex_fcntl_methods;
1491 new_mutex->os.crossproc = ospmutex->crossproc;
1494 new_mutex->meth = &mutex_proc_pthread_methods;
1499 new_mutex->os.pthread_interproc = ospmutex->pthread_interproc;
1502 new_mutex->meth = &mutex_posixsem_methods;
1507 new_mutex->os.psem_interproc = ospmutex->psem_interproc;
1532 static apr_status_t proc_mutex_create(apr_proc_mutex_t *new_mutex, apr_lockmech_e mech, const char *fname)
1536 if ((rv = proc_mutex_choose_method(new_mutex, mech,
1541 if ((rv = new_mutex->meth->create(new_mutex, fname)) != APR_SUCCESS) {
1553 apr_proc_mutex_t *new_mutex;
1556 new_mutex = apr_pcalloc(pool, sizeof(apr_proc_mutex_t));
1557 new_mutex->pool = pool;
1559 if ((rv = proc_mutex_create(new_mutex, mech, fname)) != APR_SUCCESS)
1562 *mutex = new_mutex;