~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/heap/hp_close.cc

  • Committer: Eric Day
  • Date: 2009-11-10 22:59:28 UTC
  • mto: This revision was merged to the branch mainline in revision 1218.
  • Revision ID: eday@oddments.org-20091110225928-hht1klldtfflwixc
Fixed header file guards and fixed test cases.

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
 
12
12
   You should have received a copy of the GNU General Public License
13
13
   along with this program; if not, write to the Free Software
14
 
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
 
14
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
15
15
 
16
16
/* close a heap-database */
17
17
 
18
18
#include "heap_priv.h"
19
 
#include <cstdlib>
20
19
 
21
20
using namespace std;
22
21
 
26
25
int heap_close(HP_INFO *info)
27
26
{
28
27
  int tmp;
29
 
  THR_LOCK_heap.lock();
 
28
  pthread_mutex_lock(&THR_LOCK_heap);
30
29
  tmp= hp_close(info);
31
 
  THR_LOCK_heap.unlock();
32
 
 
 
30
  pthread_mutex_unlock(&THR_LOCK_heap);
33
31
  return(tmp);
34
32
}
35
33
 
37
35
int hp_close(HP_INFO *info)
38
36
{
39
37
  int error=0;
40
 
  info->getShare()->changed=0;
 
38
  info->s->changed=0;
41
39
  heap_open_list.remove(info);
42
 
  if (!--info->getShare()->open_count && info->getShare()->delete_on_close)
43
 
    hp_free(info->getShare());                          /* Table was deleted */
44
 
  delete info;
 
40
  if (!--info->s->open_count && info->s->delete_on_close)
 
41
    hp_free(info->s);                           /* Table was deleted */
 
42
  free((unsigned char*) info);
45
43
  return(error);
46
44
}