Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2008-02-07 01:01:30 +0300
committerCorinna Vinschen <corinna@vinschen.de>2008-02-07 01:01:30 +0300
commitfb7331e34c33284b4be9d41a890b8e057a53e812 (patch)
treea5b56ddd7657084829c9325c8c5bafc43bdf099c /winsup/cygserver/sysv_sem.cc
parent4b65f190450f70bd5819bb5c18e3370d75ffebde (diff)
Remove dependency from Cygwin internal code.
* Makefile.in (CYGWIN_OBJS): Remove smallprint.o. (cygserver.exe): Remove strfuncs.o (strfuncs.o): Drop rule. * bsd_log.cc (_vlog): Use snprintf/vsnprintf instead of __small_sprintf/__small_vsprintf. * sysv_sem.cc (seminit): Use sys_malloc instead of malloc. Use snprintf instead of __small_sprintf. (semunload): Free the above allocated sema_mtx names here.
Diffstat (limited to 'winsup/cygserver/sysv_sem.cc')
-rw-r--r--winsup/cygserver/sysv_sem.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/winsup/cygserver/sysv_sem.cc b/winsup/cygserver/sysv_sem.cc
index bee24abbd..274331564 100644
--- a/winsup/cygserver/sysv_sem.cc
+++ b/winsup/cygserver/sysv_sem.cc
@@ -12,6 +12,7 @@
#ifdef __OUTSIDE_CYGWIN__
#include "woutsup.h"
+#include <stdio.h>
#include <sys/cygwin.h>
#include <sys/cdefs.h>
#ifndef __FBSDID
@@ -247,8 +248,8 @@ seminit(void)
}
for (i = 0; i < seminfo.semmni; i++)
{
- char *buf = (char *)malloc (16);
- __small_sprintf (buf, "semid[%d]", i);
+ char *buf = (char *) sys_malloc(16, M_SEM, M_WAITOK);
+ snprintf(buf, 16, "semid[%d]", i);
mtx_init(&sema_mtx[i], buf, NULL, MTX_DEF);
}
for (i = 0; i < seminfo.semmnu; i++) {
@@ -280,8 +281,10 @@ semunload(void)
sys_free(sem, M_SEM);
sys_free(sema, M_SEM);
sys_free(semu, M_SEM);
- for (int i = 0; i < seminfo.semmni; i++)
+ for (int i = 0; i < seminfo.semmni; i++) {
+ sys_free((void *) sema_mtx[i].name, M_SEM);
mtx_destroy(&sema_mtx[i]);
+ }
mtx_destroy(&sem_mtx);
return (0);
}