Update of /project/rdnzl/cvsroot/RDNZL-cpp/RDNZL
In directory common-lisp.net:/tmp/cvs-serv26572/RDNZL
Modified Files:
DelegateAdapter.cpp DelegateAdapter.h
Log Message:
delegate adapter fixes (Dominic Robinson), version 0.5.0
Date: Fri Jan 13 08:08:46 2006
Author: eweitz
Index: RDNZL-cpp/RDNZL/DelegateAdapter.cpp
diff -u RDNZL-cpp/RDNZL/DelegateAdapter.cpp:1.1.1.1 RDNZL-cpp/RDNZL/DelegateAdapter.cpp:1.2
--- RDNZL-cpp/RDNZL/DelegateAdapter.cpp:1.1.1.1 Mon Jan 3 02:00:48 2005
+++ RDNZL-cpp/RDNZL/DelegateAdapter.cpp Fri Jan 13 08:08:46 2006
@@ -1,6 +1,6 @@
-// $Header: /project/rdnzl/cvsroot/RDNZL-cpp/RDNZL/DelegateAdapter.cpp,v 1.1.1.1 2005/01/03 01:00:48 eweitz Exp $
+// $Header: /project/rdnzl/cvsroot/RDNZL-cpp/RDNZL/DelegateAdapter.cpp,v 1.2 2006/01/13 07:08:46 eweitz Exp $
//
-// Copyright (c) 2004-2005, Dr. Edmund Weitz. All rights reserved.
+// Copyright (c) 2004-2006, Dr. Edmund Weitz. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
@@ -30,7 +30,7 @@
#include "DelegateAdapter.h"
// the destructor notifies Lisp that this instance is no longer used -
-// at least in theory, this doesn't seem to work right now
+// might be called from a "foreign" thread, see docs
DelegateAdapter::~DelegateAdapter() {
release(indexIntoLisp);
}
@@ -53,7 +53,7 @@
// this static function is called once in the beginning to initialize
// the function pointers pointing to two Lisp callbacks
-void setFunctionPointers(void *(*callback_fp)(int, void *), void *(*release_fp)(int)) {
+void setFunctionPointers(void *(*callback_fp)(int, void *), void (*release_fp)(int)) {
DelegateAdapter::callback = callback_fp;
DelegateAdapter::release = release_fp;
}
Index: RDNZL-cpp/RDNZL/DelegateAdapter.h
diff -u RDNZL-cpp/RDNZL/DelegateAdapter.h:1.1.1.1 RDNZL-cpp/RDNZL/DelegateAdapter.h:1.2
--- RDNZL-cpp/RDNZL/DelegateAdapter.h:1.1.1.1 Mon Jan 3 02:00:48 2005
+++ RDNZL-cpp/RDNZL/DelegateAdapter.h Fri Jan 13 08:08:46 2006
@@ -1,6 +1,6 @@
-// $Header: /project/rdnzl/cvsroot/RDNZL-cpp/RDNZL/DelegateAdapter.h,v 1.1.1.1 2005/01/03 01:00:48 eweitz Exp $
+// $Header: /project/rdnzl/cvsroot/RDNZL-cpp/RDNZL/DelegateAdapter.h,v 1.2 2006/01/13 07:08:46 eweitz Exp $
//
-// Copyright (c) 2004-2005, Dr. Edmund Weitz. All rights reserved.
+// Copyright (c) 2004-2006, Dr. Edmund Weitz. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
@@ -36,7 +36,7 @@
void init(int index);
Object *invoke (Object* args[]);
static void *(*callback)(int, void *);
- static void *(*release)(int);
+ static void (*release)(int);
private:
// the index into the Lisp hash table which holds the closures -
// should be a 64-bit integer in the future
@@ -44,5 +44,5 @@
};
extern "C" {
- __declspec(dllexport) void setFunctionPointers(void *(*callback_fp)(int, void *), void *(*release_fp)(int));
+ __declspec(dllexport) void setFunctionPointers(void *(*callback_fp)(int, void *), void (*release_fp)(int));
}