Changeset: 40809a0d2615 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=40809a0d2615
Modified Files:
clients/Tests/exports.stable.out
common/stream/stream.h
gdk/gdk.h
monetdb5/mal/mal_session.c
tools/merovingian/daemon/argvcmds.c
tools/merovingian/daemon/controlrunner.c
tools/merovingian/daemon/discoveryrunner.c
tools/merovingian/daemon/merovingian.c
tools/merovingian/utils/utils.c
tools/merovingian/utils/utils.h
Branch: default
Log Message:
Merge with Jun2016 branch.
diffs (272 lines):
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -2558,7 +2558,7 @@ char *buffer_get_buf(buffer *b);
void buffer_init(buffer *b, char *buf, size_t size);
stream *buffer_rastream(buffer *b, const char *name);
stream *buffer_wastream(buffer *b, const char *name);
-stream *callback_stream(void *private, ssize_t( *read)(void *private, void
*buf, size_t elmsize, size_t cnt), void( *close)(void *private), void(
*destroy)(void *private), const char *name);
+stream *callback_stream(void *priv, ssize_t( *read)(void *priv, void *buf,
size_t elmsize, size_t cnt), void( *close)(void *priv), void( *destroy)(void
*priv), const char *name);
void close_stream(stream *s);
stream *file_rastream(FILE *fp, const char *name);
stream *file_rstream(FILE *fp, const char *name);
diff --git a/common/stream/stream.h b/common/stream/stream.h
--- a/common/stream/stream.h
+++ b/common/stream/stream.h
@@ -252,10 +252,10 @@ typedef enum mnstr_errors {
* private pointer is passed on to the callback functions when they
* are invoked. */
stream_export stream *callback_stream(
- void *private,
- ssize_t (*read) (void *private, void *buf, size_t elmsize, size_t cnt),
- void (*close) (void *private),
- void (*destroy) (void *private),
+ void *priv,
+ ssize_t (*read) (void *priv, void *buf, size_t elmsize, size_t cnt),
+ void (*close) (void *priv),
+ void (*destroy) (void *priv),
const char *name);
stream_export stream* stream_blackhole_create(void);
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -1247,7 +1247,7 @@ gdk_export bte ATOMelmshift(int sz);
#define bunfastapp(b, t) \
do { \
- register BUN _p = BUNlast(b); \
+ BUN _p = BUNlast(b); \
if (_p >= BATcapacity(b)) { \
if (_p == BUN_MAX || BATcount(b) == BUN_MAX) { \
GDKerror("bunfastapp: too many elements to
accomodate (" BUNFMT ")\n", BUN_MAX); \
@@ -2475,7 +2475,7 @@ gdk_export void *THRdata[THREADDATA];
#ifndef GDK_NOLINK
static inline bat
-BBPcheck(register bat x, register const char *y)
+BBPcheck(bat x, const char *y)
{
if (x && x != bat_nil) {
assert(x > 0);
@@ -2490,9 +2490,9 @@ BBPcheck(register bat x, register const
}
static inline BAT *
-BATdescriptor(register bat i)
+BATdescriptor(bat i)
{
- register BAT *b = NULL;
+ BAT *b = NULL;
if (BBPcheck(i, "BATdescriptor")) {
BBPfix(i);
diff --git a/monetdb5/mal/mal_session.c b/monetdb5/mal/mal_session.c
--- a/monetdb5/mal/mal_session.c
+++ b/monetdb5/mal/mal_session.c
@@ -446,7 +446,9 @@ MSserveClient(void *dummy)
} else {
do {
do {
- runScenario(c);
+ msg = runScenario(c);
+ if (msg != MAL_SUCCEED && msg != M5OutOfMemory)
+ GDKfree(msg);
if (c->mode == FINISHCLIENT)
break;
resetScenario(c);
diff --git a/tools/merovingian/daemon/argvcmds.c
b/tools/merovingian/daemon/argvcmds.c
--- a/tools/merovingian/daemon/argvcmds.c
+++ b/tools/merovingian/daemon/argvcmds.c
@@ -448,6 +448,8 @@ command_stop(confkeyval *ckv, int argc,
FILE *pfile = NULL;
char buf[8];
pid_t daemon;
+ struct timeval tv;
+ int i;
if (argc != 2) {
command_help(2, &argv[-1]);
@@ -499,5 +501,14 @@ command_stop(confkeyval *ckv, int argc,
return(1);
}
+ /* wait up to 5 seconds for monetdbd to actually stop */
+ for (i = 0; i < 10; i++) {
+ tv.tv_sec = 0;
+ tv.tv_usec = 500;
+ select(0, NULL, NULL, NULL, &tv);
+ if (kill(daemon, 0) == -1)
+ break;
+ }
+
return(0);
}
diff --git a/tools/merovingian/daemon/controlrunner.c
b/tools/merovingian/daemon/controlrunner.c
--- a/tools/merovingian/daemon/controlrunner.c
+++ b/tools/merovingian/daemon/controlrunner.c
@@ -962,7 +962,7 @@ controlRunner(void *d)
FD_SET(usock, &fds);
/* Wait up to 5 seconds. */
- tv.tv_sec = 5;
+ tv.tv_sec = 1;
tv.tv_usec = 0;
retval = select(usock + 1, &fds, NULL, NULL, &tv);
if (retval == 0) {
diff --git a/tools/merovingian/daemon/discoveryrunner.c
b/tools/merovingian/daemon/discoveryrunner.c
--- a/tools/merovingian/daemon/discoveryrunner.c
+++ b/tools/merovingian/daemon/discoveryrunner.c
@@ -392,12 +392,18 @@ discoveryRunner(void *d)
pthread_mutex_unlock(&_mero_remotedb_lock);
peer_addr_len = sizeof(struct sockaddr_storage);
- FD_ZERO(&fds);
- FD_SET(sock, &fds);
/* Wait up to 5 seconds. */
- tv.tv_sec = 5;
- tv.tv_usec = 0;
- nread = select(sock + 1, &fds, NULL, NULL, &tv);
+ for (s = 0; s < 5; s++) {
+ FD_ZERO(&fds);
+ FD_SET(sock, &fds);
+ tv.tv_sec = 1;
+ tv.tv_usec = 0;
+ nread = select(sock + 1, &fds, NULL, NULL, &tv);
+ if (nread != 0)
+ break;
+ if (!_mero_keep_listening)
+ goto breakout;
+ }
if (nread <= 0) { /* assume only failure is EINTR */
/* nothing interesting has happened */
buf[0] = '\0';
@@ -493,6 +499,7 @@ discoveryRunner(void *d)
"%s:%s: '%s'\n", host, service, buf);
}
}
+ breakout:
/* now notify of our soon to be absence ;) */
diff --git a/tools/merovingian/daemon/merovingian.c
b/tools/merovingian/daemon/merovingian.c
--- a/tools/merovingian/daemon/merovingian.c
+++ b/tools/merovingian/daemon/merovingian.c
@@ -588,6 +588,7 @@ main(int argc, char *argv[])
/* the parent, we want it to die, after we know
the child
* has a good time */
close(pfd[1]); /* close unused write end */
+ freeConfFile(ckv); /* make debug tools happy */
if (read(pfd[0], &buf, 1) != 1) {
Mfprintf(stderr, "unable to retrieve
startup status\n");
return(1);
@@ -1072,7 +1073,6 @@ shutdown:
unlink(".merovingian_lock");
if (pidfilename != NULL) {
unlink(pidfilename);
- free(pidfilename);
}
/* mostly for valgrind... */
diff --git a/tools/merovingian/utils/utils.c b/tools/merovingian/utils/utils.c
--- a/tools/merovingian/utils/utils.c
+++ b/tools/merovingian/utils/utils.c
@@ -117,7 +117,7 @@ freeConfFile(confkeyval *list) {
* Returns true if the key is a default property.
*/
int
-defaultProperty(char *property) {
+defaultProperty(const char *property) {
// TODO: find a better way to do this
if (property != NULL && strcmp(property, "type") == 0) {
return 1;
@@ -144,7 +144,7 @@ defaultProperty(char *property) {
* given key, or NULL if no key was found.
*/
inline confkeyval *
-findConfKey(confkeyval *list, char *key) {
+findConfKey(confkeyval *list, const char *key) {
while (list->key != NULL) {
if (strcmp(list->key, key) == 0)
return(list);
@@ -158,7 +158,7 @@ findConfKey(confkeyval *list, char *key)
* found (or set to NULL)
*/
inline char *
-getConfVal(confkeyval *list, char *key) {
+getConfVal(confkeyval *list, const char *key) {
while (list->key != NULL) {
if (strcmp(list->key, key) == 0)
return(list->val);
@@ -172,7 +172,7 @@ getConfVal(confkeyval *list, char *key)
* 0 if not found.
*/
inline int
-getConfNum(confkeyval *list, char *key) {
+getConfNum(confkeyval *list, const char *key) {
while (list->key != NULL) {
if (strcmp(list->key, key) == 0)
return(list->ival);
@@ -191,7 +191,7 @@ getConfNum(confkeyval *list, char *key)
* the original value for the key is left untouched.
*/
char *
-setConfVal(confkeyval *ckv, char *val) {
+setConfVal(confkeyval *ckv, const char *val) {
int ival = 0;
/* handle the unset directly */
@@ -214,7 +214,7 @@ setConfVal(confkeyval *ckv, char *val) {
return(strdup(buf));
}
case INT: {
- char *p = val;
+ const char *p = val;
while (*p >= '0' && *p <= '9')
p++;
if (*p != '\0') {
@@ -273,7 +273,7 @@ setConfVal(confkeyval *ckv, char *val) {
}
char *
-setConfValForKey(confkeyval *list, char *key, char *val) {
+setConfValForKey(confkeyval *list, const char *key, const char *val) {
char buf[256];
while (list->key != NULL) {
@@ -418,7 +418,7 @@ generateSalt(char *buf, unsigned int len
* random passphrase.
*/
char *
-generatePassphraseFile(char *path)
+generatePassphraseFile(const char *path)
{
int fd;
FILE *f;
diff --git a/tools/merovingian/utils/utils.h b/tools/merovingian/utils/utils.h
--- a/tools/merovingian/utils/utils.h
+++ b/tools/merovingian/utils/utils.h
@@ -31,16 +31,16 @@ typedef struct _confkeyval {
void readConfFile(confkeyval *list, FILE *cnf);
void readConfFileFull(confkeyval *list, FILE *cnf);
void freeConfFile(confkeyval *list);
-int defaultProperty(char *key);
-confkeyval *findConfKey(confkeyval *list, char *key);
-char *getConfVal(confkeyval *list, char *key);
-int getConfNum(confkeyval *list, char *key);
-char *setConfVal(confkeyval *ckv, char *val);
-char *setConfValForKey(confkeyval *list, char *key, char *val);
+int defaultProperty(const char *key);
+confkeyval *findConfKey(confkeyval *list, const char *key);
+char *getConfVal(confkeyval *list, const char *key);
+int getConfNum(confkeyval *list, const char *key);
+char *setConfVal(confkeyval *ckv, const char *val);
+char *setConfValForKey(confkeyval *list, const char *key, const char *val);
void secondsToString(char *buf, time_t t, int longness);
void abbreviateString(char *ret, const char *in, size_t width);
void generateSalt(char *buf, unsigned int len);
-char *generatePassphraseFile(char *path);
+char *generatePassphraseFile(const char *path);
void sleep_ms(size_t ms);
#endif
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list