Changeset: a327f74eb229 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a327f74eb229
Modified Files:
        clients/Tests/exports.stable.out
        clients/mapilib/mapi.c
        clients/mapilib/mapi.h
Branch: default
Log Message:

Implemented interface function mapi_set_timeout to set timeout with callback.


diffs (52 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
@@ -664,6 +664,7 @@ MapiHdl mapi_send(Mapi mid, const char *
 MapiMsg mapi_setAutocommit(Mapi mid, bool autocommit) 
__attribute__((__nonnull__(1)));
 MapiMsg mapi_set_columnar_protocol(Mapi mid, bool columnar_protocol) 
__attribute__((__nonnull__(1)));
 MapiMsg mapi_set_size_header(Mapi mid, bool value) 
__attribute__((__nonnull__(1)));
+MapiMsg mapi_set_timeout(Mapi mid, unsigned int timeout, bool 
(*callback)(void)) __attribute__((__nonnull__(1)));
 void mapi_setfilecallback(Mapi mid, char *(*getfunc)(void *priv, const char 
*filename, bool binary, uint64_t offset, size_t *size), char *(*putfunc)(void 
*priv, const char *filename, const void *data, size_t size), void *priv) 
__attribute__((__nonnull__(1)));
 int mapi_split_line(MapiHdl hdl) __attribute__((__nonnull__(1)));
 
diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c
--- a/clients/mapilib/mapi.c
+++ b/clients/mapilib/mapi.c
@@ -3279,16 +3279,22 @@ prepareQuery(MapiHdl hdl, const char *cm
 
 
 MapiMsg
-mapi_timeout(Mapi mid, unsigned int timeout)
+mapi_set_timeout(Mapi mid, unsigned int timeout, bool (*callback)(void))
 {
        mapi_check(mid);
        if (mid->trace)
                printf("Set timeout to %u\n", timeout);
-       mnstr_settimeout(mid->to, timeout, NULL);
-       mnstr_settimeout(mid->from, timeout, NULL);
+       mnstr_settimeout(mid->to, timeout, callback);
+       mnstr_settimeout(mid->from, timeout, callback);
        return MOK;
 }
 
+MapiMsg
+mapi_timeout(Mapi mid, unsigned int timeout)
+{
+       return mapi_set_timeout(mid, timeout, NULL);
+}
+
 static MapiMsg
 mapi_Xcommand(Mapi mid, const char *cmdname, const char *cmdvalue)
 {
diff --git a/clients/mapilib/mapi.h b/clients/mapilib/mapi.h
--- a/clients/mapilib/mapi.h
+++ b/clients/mapilib/mapi.h
@@ -177,6 +177,8 @@ mapi_export MapiMsg mapi_cache_freeup(Ma
 mapi_export MapiMsg mapi_seek_row(MapiHdl hdl, int64_t rowne, int whence)
        __attribute__((__nonnull__(1)));
 
+mapi_export MapiMsg mapi_set_timeout(Mapi mid, unsigned int timeout, bool 
(*callback)(void))
+       __attribute__((__nonnull__(1)));
 mapi_export MapiMsg mapi_timeout(Mapi mid, unsigned int time)
        __attribute__((__nonnull__(1)));
 mapi_export int mapi_fetch_row(MapiHdl hdl)
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to