- struct dns_reg_state *dns_state = (struct dns_reg_state *)private_data;
-
- /* Clear previous registration state to force new
- * registration attempt. Clears event handler.
- */
- dns_register_close(&dns_state);
-}
-
-static void schedule_dns_register_smbd_retry(struct dns_reg_state *dns_state,
- struct timeval *timeout)
-{
- struct timed_event * event;
-
- dns_state->srv_ref = NULL;
- event= event_add_timed(smbd_event_context(),
- NULL,
- timeval_current_ofs(DNS_REG_RETRY_INTERVAL, 0),
- dns_register_smbd_retry,
- dns_state);
+ dns_reg_state_destructor(dns_state);
+
+ dns_state->te = tevent_add_timer(dns_state->event_ctx,
+ dns_state,
+ tval,
+ dns_register_smbd_retry,
+ dns_state);
+ if (!dns_state->te) {
+ return false;
+ }