Mercurial > octave
view libinterp/dldfcn/oct-qhull.h @ 27940:ec0690a6955c stable rc-5-1-90
Lock amd and symbfact to avoid segmentation fault with SuiteSparse (bug #57435).
* dldfcn/amd.cc (Famd), dldfcn/symbfact.cc (Fsymbfact): Use DEFMETHOD_DLD. Call
"mlock" to avoid having invalid function pointers in global SuiteSparse_config
structure when the functions are unloaded (e.g. with "clear functions").
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Sun, 22 Dec 2019 01:01:27 +0100 |
parents | 00f796120a6d |
children | b442ec6dda5c |
line wrap: on
line source
/* Copyright (C) 2012-2019 John W. Eaton This file is part of Octave. Octave is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Octave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Octave; see the file COPYING. If not, see <https://www.gnu.org/licenses/>. */ #if ! defined (octave_oct_qhull_h) #define octave_oct_qhull_h 1 #include "octave-config.h" #include <cstdio> extern "C" { #if defined (HAVE_LIBQHULL_LIBQHULL_H) # include <libqhull/libqhull.h> # include <libqhull/qset.h> # include <libqhull/geom.h> # include <libqhull/poly.h> # include <libqhull/io.h> #elif defined (HAVE_QHULL_LIBQHULL_H) || defined (HAVE_QHULL_QHULL_H) # if defined (HAVE_QHULL_LIBQHULL_H) # include <qhull/libqhull.h> # else # include <qhull/qhull.h> # endif # include <qhull/qset.h> # include <qhull/geom.h> # include <qhull/poly.h> # include <qhull/io.h> # elif defined (HAVE_LIBQHULL_H) || defined (HAVE_QHULL_H) # if defined (HAVE_LIBQHULL_H) # include <libqhull.h> # else # include <qhull.h> # endif # include <qset.h> # include <geom.h> # include <poly.h> # include <io.h> #endif } #endif