Keytab routines should all be atomic. Before a routine returns it must make sure that all non-sharable resources it acquires are released and in a consistent state. For example, an implementation is not allowed to leave a file open for writing or to have a lock on a file.
Note that all keytab implementations must support multiple concurrent sequential scans. Another detail to note is that the order of values returned from get_next is unspecified and may be sorted to the implementor's convenience.