~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/user_locks/wait.cc

  • Committer: Lee Bieber
  • Date: 2010-11-20 01:33:21 UTC
  • mfrom: (1878.10.4 drizzle_bug665252)
  • Revision ID: kalebral@gmail.com-20101120013321-7nk9lq4nnr20zk6b
Merge Billy - removed my_getsysdate, my_micro_time and my_micro_time_and_time and replaced with boost::date_time for compatibility.

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
    if (barrier and barrier->getOwner() == getSession().getSessionId())
39
39
    {
40
40
      my_error(drizzled::ER_USER_LOCKS_CANT_WAIT_ON_OWN_BARRIER, MYF(0));
 
41
      null_value= false;
41
42
 
42
43
      return 0;
43
44
    }
51
52
      }
52
53
      else
53
54
      {
54
 
        boost::this_thread::restore_interruption dl(getSession().getThreadInterupt());
55
 
 
56
 
        try {
57
 
          barrier->wait();
58
 
        }
59
 
        catch(boost::thread_interrupted const&)
60
 
        {
61
 
          // We need to issue a different sort of error here
62
 
          my_error(drizzled::ER_QUERY_INTERRUPTED, MYF(0));
63
 
          return 0;
64
 
        }
 
55
        barrier->wait();
65
56
      }
66
57
      null_value= false;
67
58
 
68
59
      return 1;
69
60
    }
70
61
  }
71
 
  else if (not res || not res->length())
72
 
  {
73
 
    my_error(drizzled::ER_USER_LOCKS_INVALID_NAME_BARRIER, MYF(0));
74
 
    return 0;
75
 
  }
76
62
 
77
63
  my_error(drizzled::ER_USER_LOCKS_UNKNOWN_BARRIER, MYF(0));
 
64
  null_value= false;
78
65
 
79
66
  return 0;
80
67
}