]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-9788: Add close() option to FileIO implementation
authorMarc Olivier Chouinard <mochouinard@moctel.com>
Wed, 30 Nov 2016 19:28:39 +0000 (14:28 -0500)
committerMarc Olivier Chouinard <mochouinard@moctel.com>
Wed, 30 Nov 2016 19:28:39 +0000 (14:28 -0500)
src/mod/languages/mod_v8/include/fsfileio.hpp
src/mod/languages/mod_v8/src/fsfileio.cpp

index 05a4d220db94db429236c2213c4290a1be0e5a4e..e232137f452e46b6773a08834937459abfb4d92f 100644 (file)
@@ -67,6 +67,7 @@ public:
        JS_FILEIO_FUNCTION_DEF(Read);
        JS_FILEIO_FUNCTION_DEF(Write);
        JS_FILEIO_FUNCTION_DEF(GetData);
+       JS_FILEIO_FUNCTION_DEF(Close);
        JS_FILEIO_GET_PROPERTY_DEF(GetProperty);
 };
 
index a89d1ae8923e5b5f4c9e9fd2f26ebc604f6eb295..18aeba04dba9a91f53d873d8ba4d5c9864cae507 100644 (file)
@@ -42,9 +42,17 @@ FSFileIO::~FSFileIO(void)
        if (_fd) {
                switch_file_close(_fd);
        }
+
        switch_core_destroy_memory_pool(&_pool);
 }
 
+JS_FILEIO_FUNCTION_IMPL(Close)
+{
+        if (_fd) {
+                switch_file_close(_fd);
+               _fd = NULL;
+        }
+}
 string FSFileIO::GetJSClassName()
 {
        return js_class_name;
@@ -213,6 +221,7 @@ static const js_function_t fileio_proc[] = {
        {"read", FSFileIO::Read},
        {"write", FSFileIO::Write},
        {"data", FSFileIO::GetData},
+       {"close", FSFileIO::Close},
        {0}
 };