📄 sema.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -