~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/memory/hp_close.cc

  • Committer: Olaf van der Spek
  • Date: 2011-02-12 18:24:24 UTC
  • mto: (2167.1.2 build) (2172.1.4 build)
  • mto: This revision was merged to the branch mainline in revision 2168.
  • Revision ID: olafvdspek@gmail.com-20110212182424-kgnm9osi7qo97at2
casts

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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
 
14
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
15
15
 
16
16
/* close a heap-database */
17
17
 
26
26
int heap_close(HP_INFO *info)
27
27
{
28
28
  int tmp;
29
 
  pthread_mutex_lock(&THR_LOCK_heap);
 
29
  THR_LOCK_heap.lock();
30
30
  tmp= hp_close(info);
31
 
  pthread_mutex_unlock(&THR_LOCK_heap);
 
31
  THR_LOCK_heap.unlock();
 
32
 
32
33
  return(tmp);
33
34
}
34
35
 
36
37
int hp_close(HP_INFO *info)
37
38
{
38
39
  int error=0;
39
 
  info->s->changed=0;
 
40
  info->getShare()->changed=0;
40
41
  heap_open_list.remove(info);
41
 
  if (!--info->s->open_count && info->s->delete_on_close)
42
 
    hp_free(info->s);                           /* Table was deleted */
43
 
  free((unsigned char*) info);
 
42
  if (!--info->getShare()->open_count && info->getShare()->delete_on_close)
 
43
    hp_free(info->getShare());                          /* Table was deleted */
 
44
  delete info;
44
45
  return(error);
45
46
}