diff Python/thread_pth.h @ 21766:8b116a8449bd legacy-trunk

Remove the unused & broken PyThread_*_sema() functions and related constants. This closes SF patch #504215.
author Fred Drake <fdrake@acm.org>
date Sat, 19 Jan 2002 22:02:55 +0000
parents ebfd87e87884
children 1a817694ecbd
line wrap: on
line diff
--- a/Python/thread_pth.h	Sat Jan 19 10:41:51 2002 +0000
+++ b/Python/thread_pth.h	Sat Jan 19 22:02:55 2002 +0000
@@ -206,90 +206,3 @@
         status = pth_cond_notify( &thelock->lock_released, 0 );
         CHECK_STATUS("pth_cond_notify");
 }
-
-/*
- * Semaphore support.
- */
-
-struct semaphore {
-	pth_mutex_t mutex;
-	pth_cond_t cond;
-	int value;
-};
-
-PyThread_type_sema PyThread_allocate_sema(int value)
-{
-	struct semaphore *sema;
-	int status, error = 0;
-
-	dprintf(("PyThread_allocate_sema called\n"));
-	if (!initialized)
-		PyThread_init_thread();
-
-	sema = (struct semaphore *) malloc(sizeof(struct semaphore));
-	if (sema != NULL) {
-		sema->value = value;
-		status = pth_mutex_init(&sema->mutex);
-		CHECK_STATUS("pth_mutex_init");
-		status = pth_cond_init(&sema->cond);
-		CHECK_STATUS("pth_mutex_init");
-		if (error) {
-			free((void *) sema);
-			sema = NULL;
-		}
-	}
-	dprintf(("PyThread_allocate_sema() -> %p\n",  sema));
-	return (PyThread_type_sema) sema;
-}
-
-void PyThread_free_sema(PyThread_type_sema sema)
-{
-	struct semaphore *thesema = (struct semaphore *) sema;
-
-	dprintf(("PyThread_free_sema(%p) called\n",  sema));
-	free((void *) thesema);
-}
-
-int PyThread_down_sema(PyThread_type_sema sema, int waitflag)
-{
-	int status, error = 0, success;
-	struct semaphore *thesema = (struct semaphore *) sema;
-
-	dprintf(("PyThread_down_sema(%p, %d) called\n",  sema, waitflag));
-	status = pth_mutex_acquire(&thesema->mutex, !waitflag, NULL);
-	CHECK_STATUS("pth_mutex_acquire");
-	if (waitflag) {
-		while (!error && thesema->value <= 0) {
-			status = pth_cond_await(&thesema->cond,
-						&thesema->mutex, NULL);
-			CHECK_STATUS("pth_cond_await");
-		}
-	}
-	if (error)
-		success = 0;
-	else if (thesema->value > 0) {
-		thesema->value--;
-		success = 1;
-	}
-	else
-		success = 0;
-	status = pth_mutex_release(&thesema->mutex);
-	CHECK_STATUS("pth_mutex_release");
-	dprintf(("PyThread_down_sema(%p) return\n",  sema));
-	return success;
-}
-
-void PyThread_up_sema(PyThread_type_sema sema)
-{
-	int status, error = 0;
-	struct semaphore *thesema = (struct semaphore *) sema;
-
-	dprintf(("PyThread_up_sema(%p)\n",  sema));
-	status = pth_mutex_acquire(&thesema->mutex, 0, NULL);
-	CHECK_STATUS("pth_mutex_acquire");
-	thesema->value++;
-	status = pth_cond_notify(&thesema->cond, 1);
-	CHECK_STATUS("pth_cond_notify");
-	status = pth_mutex_release(&thesema->mutex);
-	CHECK_STATUS("pth_mutex_release");
-}