Changeset: 410e07a5f978 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=410e07a5f978 Modified Files: gdk/gdk_interprocess.c gdk/gdk_interprocess.h Branch: default Log Message:
Indent and license. diffs (truncated from 603 to 300 lines): diff --git a/gdk/gdk_interprocess.c b/gdk/gdk_interprocess.c --- a/gdk/gdk_interprocess.c +++ b/gdk/gdk_interprocess.c @@ -1,3 +1,10 @@ +/* + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V. + */ #include "gdk_interprocess.h" @@ -29,16 +36,17 @@ static key_t base_key = 800000000; gdk_return interprocess_init_semaphore(int id, int count, int flags, int *semid, str *msg); // Regular ftok produces too many collisions -static gdk_return -ftok_enhanced(int id, key_t *return_key) { - *return_key = base_key + id; - return GDK_SUCCEED; +static gdk_return +ftok_enhanced(int id, key_t * return_key) +{ + *return_key = base_key + id; + return GDK_SUCCEED; } -#define interprocess_create_error(...) { \ - *msg = (char*) GDKzalloc(500 * sizeof(char)); \ - snprintf(*msg, 500, __VA_ARGS__); \ - errno = 0; \ +#define interprocess_create_error(...) { \ + *msg = (char*) GDKzalloc(500 * sizeof(char)); \ + snprintf(*msg, 500, __VA_ARGS__); \ + errno = 0; \ } //! Obtain a set of unique identifiers that can be used to create memory mapped files or semaphores @@ -46,14 +54,15 @@ ftok_enhanced(int id, key_t *return_key) * return: The first unique identifier reserved. The consecutive [offset] identifiers are also reserved. * (ex. if offset = 5 and the return value is 10, then the identifiers 10-14 are reserved) */ -size_t -GDKuniqueid(size_t offset) { - // TODO: lock this here instead of in pyapi - size_t id; +size_t +GDKuniqueid(size_t offset) +{ + // TODO: lock this here instead of in pyapi + size_t id; - id = interprocess_unique_id; - interprocess_unique_id += offset; - return id; + id = interprocess_unique_id; + interprocess_unique_id += offset; + return id; } //! Create a memory mapped file if it does not exist and open it @@ -63,51 +72,53 @@ GDKuniqueid(size_t offset) { * msg: Error message (only set if function returns GDK_FAIL) * return: GDK_SUCCEED if successful, GDK_FAIL if not successful (with msg set to error message) */ -gdk_return -GDKinitmmap(size_t id, size_t size, void **return_ptr, size_t *return_size, str *msg) { - char address[100]; - void *ptr; - int fd; - int mod = MMAP_READ | MMAP_WRITE | MMAP_SEQUENTIAL | MMAP_SYNC | MAP_SHARED; - char *path = NULL; - GDKmmapfile(address, 100, id); +gdk_return +GDKinitmmap(size_t id, size_t size, void **return_ptr, size_t *return_size, str *msg) +{ + char address[100]; + void *ptr; + int fd; + int mod = MMAP_READ | MMAP_WRITE | MMAP_SEQUENTIAL | MMAP_SYNC | MAP_SHARED; + char *path = NULL; + GDKmmapfile(address, 100, id); - /* round up to multiple of GDK_mmap_pagesize with a - * minimum of one - size = (maxsize + GDK_mmap_pagesize - 1) & ~(GDK_mmap_pagesize - 1); - if (size == 0) - size = GDK_mmap_pagesize; */ - fd = GDKfdlocate(0, address, "wb", "tmp"); - if (fd < 0) { - interprocess_create_error("Failure in GDKfdlocate: %s", strerror(errno)); - goto cleanup; - } - path = GDKfilepath(0, BATDIR, address, "tmp"); - if (path == NULL) { - interprocess_create_error("Failure in GDKfilepath: %s", strerror(errno)); - goto cleanup; - } - close(fd); - if (GDKextend(path, size) != GDK_SUCCEED) { - interprocess_create_error("Failure in GDKextend: %s", strerror(errno)); - goto cleanup; - } - ptr = GDKmmap(path, mod, size); - if (ptr == NULL) { - interprocess_create_error("Failure in GDKmmap: %s", strerror(errno)); - goto cleanup; - } - GDKfree(path); - if (return_ptr != NULL) { - *return_ptr = ptr; - } - if (return_size != NULL) { - *return_size = size; - } - return GDK_SUCCEED; -cleanup: - if (path) GDKfree(path); - return GDK_FAIL; + /* round up to multiple of GDK_mmap_pagesize with a + * minimum of one + size = (maxsize + GDK_mmap_pagesize - 1) & ~(GDK_mmap_pagesize - 1); + if (size == 0) + size = GDK_mmap_pagesize; */ + fd = GDKfdlocate(0, address, "wb", "tmp"); + if (fd < 0) { + interprocess_create_error("Failure in GDKfdlocate: %s", strerror(errno)); + goto cleanup; + } + path = GDKfilepath(0, BATDIR, address, "tmp"); + if (path == NULL) { + interprocess_create_error("Failure in GDKfilepath: %s", strerror(errno)); + goto cleanup; + } + close(fd); + if (GDKextend(path, size) != GDK_SUCCEED) { + interprocess_create_error("Failure in GDKextend: %s", strerror(errno)); + goto cleanup; + } + ptr = GDKmmap(path, mod, size); + if (ptr == NULL) { + interprocess_create_error("Failure in GDKmmap: %s", strerror(errno)); + goto cleanup; + } + GDKfree(path); + if (return_ptr != NULL) { + *return_ptr = ptr; + } + if (return_size != NULL) { + *return_size = size; + } + return GDK_SUCCEED; + cleanup: + if (path) + GDKfree(path); + return GDK_FAIL; } //! Release a memory mapped file that was created through GDKinitmmap @@ -117,28 +128,29 @@ cleanup: * msg: Error message (only set if function returns GDK_FAIL) * return: GDK_SUCCEED if successful, GDK_FAIL if not successful (with msg set to error message) */ -gdk_return -GDKreleasemmap(void *ptr, size_t size, size_t id, str *msg) { - char address[100]; - char *path; - int ret; - GDKmmapfile(address, 100, id); - if (GDKmunmap(ptr, size) != GDK_SUCCEED) { - interprocess_create_error("Failure in GDKmunmap: %s", strerror(errno)); - return GDK_FAIL; - } - path = GDKfilepath(0, BATDIR, address, "tmp"); - if (path == NULL) { - interprocess_create_error("Failure in GDKfilepath: %s", strerror(errno)); - return GDK_FAIL; - } - ret = remove(path); - GDKfree(path); - if (ret < 0) { - interprocess_create_error("Failure in GDKfree: %s", strerror(errno)); - return GDK_FAIL; - } - return GDK_SUCCEED; +gdk_return +GDKreleasemmap(void *ptr, size_t size, size_t id, str *msg) +{ + char address[100]; + char *path; + int ret; + GDKmmapfile(address, 100, id); + if (GDKmunmap(ptr, size) != GDK_SUCCEED) { + interprocess_create_error("Failure in GDKmunmap: %s", strerror(errno)); + return GDK_FAIL; + } + path = GDKfilepath(0, BATDIR, address, "tmp"); + if (path == NULL) { + interprocess_create_error("Failure in GDKfilepath: %s", strerror(errno)); + return GDK_FAIL; + } + ret = remove(path); + GDKfree(path); + if (ret < 0) { + interprocess_create_error("Failure in GDKfree: %s", strerror(errno)); + return GDK_FAIL; + } + return GDK_SUCCEED; } //! snprintf the file name of a memory mapped file (as created by GDKinitmmap) @@ -146,36 +158,39 @@ GDKreleasemmap(void *ptr, size_t size, s * max: The maxsize of the buffer (should be at least ~10 characters) * id: Identifier of the file */ -gdk_return -GDKmmapfile(str buffer, size_t max, size_t id) { - snprintf(buffer, max, "pymmap%zu", id); - return GDK_SUCCEED; +gdk_return +GDKmmapfile(str buffer, size_t max, size_t id) +{ + snprintf(buffer, max, "pymmap%zu", id); + return GDK_SUCCEED; } -gdk_return -interprocess_init_semaphore(int id, int count, int flags, int *semid, str *msg) { - key_t key; - if (ftok_enhanced(id, &key) != GDK_SUCCEED) { - interprocess_create_error("Failure in ftok_enhanced: %s", strerror(errno)); - return GDK_FAIL; - } - *semid = semget(key, count, flags | 0666); - if (*semid < 0) { - interprocess_create_error("Failure in semget: %s", strerror(errno)); - return GDK_FAIL; - } - return GDK_SUCCEED; +gdk_return +interprocess_init_semaphore(int id, int count, int flags, int *semid, str *msg) +{ + key_t key; + if (ftok_enhanced(id, &key) != GDK_SUCCEED) { + interprocess_create_error("Failure in ftok_enhanced: %s", strerror(errno)); + return GDK_FAIL; + } + *semid = semget(key, count, flags | 0666); + if (*semid < 0) { + interprocess_create_error("Failure in semget: %s", strerror(errno)); + return GDK_FAIL; + } + return GDK_SUCCEED; } -//! Create an interprocess semaphore +//! Create an interprocess semaphore /* id: identifier (obtain from GDKuniqueid) * count: amount of semaphores * semid: identifier of the created semaphore (only set if function returns GDK_SUCCEED) * msg: Error message (only set if function returns GDK_FAIL) */ -gdk_return -GDKcreatesem(int id, int count, int *semid, str *msg) { - return interprocess_init_semaphore(id, count, IPC_CREAT, semid, msg); +gdk_return +GDKcreatesem(int id, int count, int *semid, str *msg) +{ + return interprocess_init_semaphore(id, count, IPC_CREAT, semid, msg); } //! Get an interprocess semaphore that was already created using GDKcreatesem @@ -184,9 +199,10 @@ GDKcreatesem(int id, int count, int *sem * semid: identifier of the semaphore (only set if function returns GDK_SUCCEED) * msg: Error message (only set if function returns GDK_FAIL) */ -gdk_return -GDKgetsem(int id, int count, int *semid, str *msg) { - return interprocess_init_semaphore(id, count, 0, semid, msg); +gdk_return +GDKgetsem(int id, int count, int *semid, str *msg) +{ + return interprocess_init_semaphore(id, count, 0, semid, msg); } //! Gets the value of an interprocess semaphore @@ -195,14 +211,15 @@ GDKgetsem(int id, int count, int *semid, * semval: the value of the semaphore (only set if function returns GDK_SUCCEED) * msg: Error message (only set if function returns GDK_FAIL) */ -gdk_return -GDKgetsemval(int sem_id, int number, int *semval, str *msg) { - *semval = semctl(sem_id, number, GETVAL, 0); - if (*semval < 0) { - interprocess_create_error("Failure in semctl: %s", strerror(errno)); - return GDK_FAIL; - } - return GDK_SUCCEED; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list