sema.c
来自「一个内存数据库的源代码这是服务器端还有客户端」· C语言 代码 · 共 96 行
C
96 行
#line 42 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/sema.mx"#include "mal_config.h"#include <gdk.h>#include "mal_exception.h"typedef ptr sema;typedef ptr monet_sema;#ifdef WIN32#ifndef LIBSEMA#define sema_export extern __declspec(dllimport)#else#define sema_export extern __declspec(dllexport)#endif#else#define sema_export extern#endifintcreate_sema(monet_sema *s, int *init){ *s = (monet_sema) GDKmalloc(sizeof(MT_Sema)); if (*s == NULL || *s == ptr_nil) return GDK_FAIL; MT_sema_init((MT_Sema *) *s, *init); return GDK_SUCCEED;}intup_sema(monet_sema *s){ if (*s == NULL || *s == ptr_nil) return GDK_FAIL; MT_sema_up((MT_Sema*) *s, "up_sema"); return GDK_SUCCEED;}intdown_sema(monet_sema *s){ if (*s == NULL || *s == ptr_nil) return GDK_FAIL; MT_sema_down((MT_Sema*) *s, "down_sema"); return GDK_SUCCEED;}intdestroy_sema(monet_sema *s){ if (*s == NULL || *s == ptr_nil) return GDK_FAIL; MT_sema_destroy((MT_Sema*) *s); GDKfree(*s); return GDK_SUCCEED;}#line 95 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/sema.mx"#include "mal.h"sema_export str SEMAcreate(monet_sema *res, int *init);strSEMAcreate(monet_sema *res, int *init){ create_sema(res, init); return MAL_SUCCEED;}sema_export str SEMAup(int *res, monet_sema *s);strSEMAup(int *res, monet_sema *s){ up_sema(s); *res = 1; return MAL_SUCCEED;}sema_export str SEMAdown(int *res, monet_sema *s);strSEMAdown(int *res, monet_sema *s){ down_sema(s); *res = 1; return MAL_SUCCEED;}sema_export str SEMAdestroy(int *res, monet_sema *s);strSEMAdestroy(int *res, monet_sema *s){ destroy_sema(s); *res = 1; return MAL_SUCCEED;}#line 132 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/sema.mx"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?