📄 readme
字号:
./manual gives users a text-based interactive interface to local orremote tokens. This is extremely useful for manually testing thetoken server and setting up deadlock scenarios.Run it as follows% ./manual -u./manual:[-h <remote host>][-p <remote port>][-i ignore deadlock][-d debug]./manual gives you the following prompt.<tid> <token> <type> <operation><tid> This is the client id of the current operation. This is set manually by ./manual for every operation. Be careful when using multiple <tid>'s during a remote session (see BUGS below).<token> This is the name of the token for the operation.<type> This is the type of the token. This can be: M - Corresponds to a Mutex lock. R - Corresponds to Readers/Writer lock. W - Corresponds to Readers/Writer lock. Obviously, a single <token> can be M or it can R and/or W. If you perform and operation like this "tid1 tokenA M A" then don't do this "tid1 tokenA R A". This doesn't make sense.<operation> This is the operation to perform on the <tid>-<token>-<type> proxy. These include: A - acquire. N - renew. R - release. T - tryacquire.BUGS!!!!When performing remote tests, be careful when using a single running./manual to impersonate two <tid>'s. The Token Server clientconnection policy is currently, one per thread. The Token Serverassumes that the same <tid> is always on the other end of aconnection. If you do something like the following, you will breakit:lambada:Tokens/manual> ./manual -h tango -p 20202<tid> <token> <type> <operation>tid1 tokenA M AACE_TSS_Connection new connection(1) acquired tokenA remotely.Succeeded.<tid> <token> <type> <operation>tid2 tokenA M A(1) acquired tokenA remotely. <------ This is remote BADness!!!Succeeded.Violated invariant. <------ Locally detected badness.<tid> <token> <type> <operation>Notice that the local side discovered that this was incorrect.However, the Token Server thinks it was a recursive acquisition fortid1. Keep in mind that this is not a problem with the Token library.It is just a problem with how this primitive ./manual application mapsSTDIN to the ACE Token API.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -