Question about termination/ (ETF)

So I started my Verizon contract September 29th 2008. Well, in May of last year (2010), I was eligible for my New Every Two, so I went to Best Buy and got the Droid Eris (piece of crapppppp) for $30 after signing another 2 year contract (figured "Hey, I like Verizon..i'll stay on")
Well now, the next time I'm eligible for New Every Two is 1/30/2012
But...I want to terminate my service and go on AT&T. Mainly because their overall monthly bill will be cheaper on me, with the same features, not to mention an iPhone 4 for only $199.99...not the $599.99 I'd have to pay to Verizon since I can't upgrade yet, and since apparently Verizon is sold out of them...pfft.
My questions are:
How much of a termination fee will I have to pay to end it?
and..
Whenever I do end it...say the 6th of this month (my billing cycle ends TODAY actually), will Verizon send me that last bill with the ETF and 2 days billing credit, or the ETF amount and a full month's bill (which would be like $96 :/ )
Thanks!

jcp42877 wrote:
So I started my Verizon contract September 29th 2008. Well, in May of last year (2010), I was eligible for my New Every Two, so I went to Best Buy and got the Droid Eris (piece of crapppppp) for $30 after signing another 2 year contract (figured "Hey, I like Verizon..i'll stay on")
Well now, the next time I'm eligible for New Every Two is 1/30/2012
But...I want to terminate my service and go on AT&T. Mainly because their overall monthly bill will be cheaper on me, with the same features, not to mention an iPhone 4 for only $199.99...not the $599.99 I'd have to pay to Verizon since I can't upgrade yet, and since apparently Verizon is sold out of them...pfft. They aren't "sold out," the quantity set aside for pre-orders have all been reserved.  I'd say most people have a good chance of getting it on the 10th if they want it.
My questions are:
How much of a termination fee will I have to pay to end it? Since you have an advanced device, it will be $350 less $10 for each month of your contract that you complete.
and..
Whenever I do end it...say the 6th of this month (my billing cycle ends TODAY actually), will Verizon send me that last bill with the ETF and 2 days billing credit, or the ETF amount and a full month's bill (which would be like $96 :/ ) Verizon will send you a bill for the ETF and the any overages from your last month of service.  Since you pay a month in advance, that payment will cover your last month, but none of it will be refunded if you cancel before the end of the month.  Verizon's policy (outlined in your contract) is to bill for the complete final month of service.
Thanks!
Just a note, to be eligible for the "Annual Upgrade" that lewisr mentioned, you will need to be either the primary line on a Family Share plan, or on an Individual calling plan valued at $49.99/month or higher.  Also, the annual upgrade program has been discontinued, so this will be the last annual upgrade you can use.

Similar Messages

  • A few questions about the ETF

    Hello, I have Verizon Home Phone Connect and had a few questions about canceling the service.
    1. When I cancel the service will I have to pay the ETF right then and there? Or will I get a bill for it?
    2. After paying the ETF will I have to return the device or can I keep it?
    3. Once I have paid the ETF will I receive an invoice (or receipt) as proof that I have paid?
    4. Will canceling affect my credit negatively?

    1, You will get a bill for the ETF as well as the final month of service.
    2. You can keep the device as long as you are past the initial 14 day term.  If you purchased from third party retailer, that retailer may have additional conditions.  Check your paperwork.
    3. Yes.  The same as any other payment you make.
    4. No, as long as you pay in full all that you owe.
    http://www.verizonwireless.com/b2c/support/customer-agreement
    WHAT HAPPENS IF MY POSTPAY SERVICE IS CANCELED BEFORE THE END OF MY CONTRACT TERM?
    If you're signing up for Postpay Service, you're agreeing to subscribe to a line of Service either on a month–to–month basis or for a minimum contract term, as shown on your receipt or order confirmation.  (If your Service is suspended without billing, that time doesn't count toward completing your contract term.) Once you've completed your contract term, you'll automatically become a customer on a month–to–month basis for that line of Service. If you cancel a line of Service, or if we cancel it for good cause, during its contract term, you'll have to pay an early termination fee.  If your contract term results from your purchase of an advanced device, your early termination fee will be $350 minus $10 for each full month of your contract term that you complete. Otherwise, your early termination fee will be $175 minus $5 for each full month of your contract term that you complete.  Cancellations will become effective on the last day of that month's billing cycle, and you are responsible for all charges incurred until then.  Also, if you bought your wireless device from an authorized agent or third–party vendor, you should check whether they charge a separate termination fee.

  • Question about Termination Fees for Cellphones

    I have three family members on a plan I set up for them (my father and two brothers).  I'm a little tight on money lately and I've decided after three years they need to pay for their own plan and get off their feet.  My question is, if I pay the early cancellation fees on each line does it 1) report negatively on my credit report, 2) does that prevent me from ever getting a phone with that carrier in future and 3) one of the lines is a plan where you pay off the phone each month and there are four payments left, if I pay off that phone does it also have a contract cancellation fee since I paid for the phone myself? I put them all on Verizon.  I am with At&t for my personal phone. thank you

    Not one bit, the cell phone companies want their ETFs, it becomes a problem when you don't pay them and the account is delinquent. If you cancel early and pay the ETFs, you'll be in good standing

  • Geek Question About Terminal Command Prompt

    Strange Question:
    On my wife's Mac (10.9.5) her Terminal command prompts end with "%" (no quotes). On my Mac (also 10.9.5) my Terminal command prompts end with "$" (no quotes).
    This was also the case under Mountain Lion. Neither one of us has ever edited or created a .bash_profile settings file.
    Why the difference?
    Thanks.

    Her default shell is tcsh. Yours is bash.

  • Two questions about Risk Management 2.0

    hi experts,
    Please find below two questions about Risk Management:
    -In SPRO, Risk Management>Create top node: after completing information and executing I have this error:
    Error in the ABAP Application Program
    The current ABAP program "/ORM/ORM_CREATE_TOP_NODES" had to be terminated
    because it has
    come across a statement that unfortunately cannot be executed.
    The following syntax error occurred in program "/ORM/SAPLORM_API_SERVICES " in
    include "/ORM/LORM_API_SERVICESU10 " in
    line 97:
    "Bei PERFORM bzw. CALL FUNCTION "GET_ORGUNIT_THRESHOLDS" ist der Aktual"
    "parameter "I_ORGUNIT_ID" zum Formalparameter "IV_ORGUNIT_ID" inkompati"
    "bel."
    The include has been created and last changed by:
    Created by: "SAP "
    Last changed by: "SAP "
    Error in the ABAP Application Program
    The current ABAP program "/ORM/ORM_CREATE_TOP_NODES" had to be terminated
    because it has
    come across a statement that unfortunately cannot be executed.
    Do you know where it could come from?
    -On the Portal>Risk Management
    when I click in a link under the risk management menu(activities and risks, risk report, document risk,...) i alway have an internal server error:
    While processing the current request, an exception occured which could not be handled by the application or the framework.
    If the information contained on this page doesn't help you to find and correct the cause of the problem, please contact your system administrator. To facilitate analysis of the problem, keep a copy of this error page. Hint: Most browsers allow to select all content, copy it and then paste it into an empty document (e.g. email or simple text file).
    Do we have to set up some customizing points before accessing these links?
    Thank you !
    Regards,
    Julien

    Hi Julien ,
    I have the same error what u described as :-
    -On the Portal>Risk Management
    when I click in a link under the risk management menu(activities and risks, risk report, document risk,...) i alway have an internal server error:
    While processing the current request, an exception occured which could not be handled by the application or the framework.
    If the information contained on this page doesn't help you to find and correct the cause of the problem, please contact your system administrator. To facilitate analysis of the problem, keep a copy of this error page. Hint: Most browsers allow to select all content, copy it and then paste it into an empty document (e.g. email or simple text file).
    Do we have to set up some customizing points before accessing these links?    "
    Are you able to solve this. Please let me know how to resolve this???
    Thanks
    Regards,
    Atul

  • Questions about Contracts and New Phones

    I've had some questions about how upgrading and adding new lines to a contract works and I haven't been able to find the answers through Google. First some background information: We started this most recent contract in September of 2011 and as such the current contract will end September of 2013. According to the phone information portal, all three of the devices on my account will be eligible for an upgrade this Saturday (May 4th, 2013). My daughters birthday just so happens to coincide with that date and as such we were planning on surprising her by taking her to buy a new phone and we are going to allow our son to upgrade his phone as he has been asking to for a while.
    Is there any way of locking/limiting the amount of data allowed for each phone on a shared plan? I'm worried that my daughter will go way over our limit and not pay attention to the point where she will end up costing us a very large amount of money
    Does adding a new line require the start of a new contract?
    My son was interested in purchasing the "Samsung Galaxy S4" and has noticed that pre-orders for that phone are currently available. Is it possible to pre-order the phone on that date using the upgrade so that the price will be reduced?
    If the answer to number 2 is a no, does adding the new line take away the upgrades from other phones or would he be able to go to the store past the release date and upgrade then?
    Thanks for taking the time to read through all of this. Any help that I receive will be extremely appreciated.

    1. Yes. There is an additional fee per line you wish to do this for. When you add the line you can choose this option and set the data amount it is allowed to use.
    2. Yes. Each line is a separate contract with its own expiration date.
    3. The contract starts when you sign up for the contract. The amount will be pro-rated on the plan if it is not started until part-way through your billing cycle that is what you are asking. Doing the pre-order just guarantees you the phone in case they sell out.
    4. No it will not take any upgrades away as each line has its own termination date. You can move upgrades around between lines though.

  • Basic Questions About Compiling Source

    Hi!
    I have some very basic questions about compiling source on 10.6. BTW, if the unix discussions still exist, they've hidden them pretty well, so I hope I'm in the right place for this!
    First off, you simply cd to the source dir, wherever it may be - in my case ~/Downloads/source/  - and during the install process, everything will be installed in its proper dir, right?
    How do you know which compiler to use? There seem to be several: make, gmake, gcc, g++, etc...
    Once you do figure out which compiler to run, the process is supposed to go like this, right?
    ./configure
    make (or whatever)
    make install
    But this doesn't always work for me. For instance, I'm trying to compile 'arm', but it doesn't seem to have a 'configure' script.
    $ ls ~/Downloads/arm
    ChangeLog
    README
    armrc.sample
    setup.py
    LICENSE
    arm
    install
    /src
    Maybe it's that 'setup.py' file? What are you supposed to do?
    Of course, it's not only this one that's given me trouble. Sometimes the readme will say I have to edit a certain file for my system. Are there just a few standard changes you always make? Or is it...how can I put it...complicated? How do you find out what's needed in those cases?
    OS 10.6.8
    Xcode 3.2.4
    Python 2.7

    sudont wrote:
    I have some very basic questions about compiling source on 10.6. BTW, if the unix discussions still exist, they've hidden them pretty well, so I hope I'm in the right place for this!
    This is the place for UNIX discussions. If you have developer-related questions, there is a forum dedicated to that as well: Developer Forums
    First off, you simply cd to the source dir, wherever it may be - in my case ~/Downloads/source/  - and during the install process, everything will be installed in its proper dir, right?
    Yes. Hopefully the project you want to install follows standard conventions. If so, you can do "./configure", then "make", and finally "sudo make install" to install the software into "/usr/local".
    How do you know which compiler to use? There seem to be several: make, gmake, gcc, g++, etc...
    The make file will figure that stuff out.
    Once you do figure out which compiler to run, the process is supposed to go like this, right?
    ./configure
    make (or whatever)
    make install
    Yes, with the addition of "sudo" before "make install" because "/usr/local" is owned by root.
    But this doesn't always work for me. For instance, I'm trying to compile 'arm', but it doesn't seem to have a 'configure' script.
    $ ls ~/Downloads/arm
    ChangeLog
    README
    armrc.sample
    setup.py
    LICENSE
    arm
    install
    /src
    arm? You mean "arm (anonymizing relay monitor) - Terminal status monitor for Tor relays." You really don't want to be messing with that stuff. The only people involved with Tor that are trustworthy are US Navy intelligence who have their own uses for it. If you don't understand it as well as they do, best stay away.

  • EBS 12.1.3: a few questions about cloning

    Hi,
    We have EBS 12.1.3 on AIX 7.1.
    A few questions about cloning from shared application tier environment to non-shared application tier environment. We have been following "Cloning Oracle Applications Release 12 with Rapid Clone [ID 406982.1]"
    Source environment (shared app tier):
    - Two active application nodes and LB
    - One active database and one passive database setup with Oracle Data Guard.
    - SSL termination at the load balancer
    - PCP implemented
    Target environment (non-shared app tier):
    - One active application node
    - One active database node
    - No SSL
    - No PCP
    After the cloning was completed we noticed the following problems in the target system:
    1) Home page cannot be accessed as application tier $CONTEXT_FILE still contains "https" and ssl termination settings.
    Workaround:
    Modify (with text editor) Application Tier $CONTEXT_FILE as follows.
    <webentryurlprotocol oa_var="s_webentryurlprotocol" customized="yes">http</webentryurlprotocol>
    <sslterminator oa_var="s_enable_sslterminator">#</sslterminator>
    <login_page oa_var="s_login_page" customized="yes">http://myhost.mydomain.com:8000/OA_HTML/AppsLogin</login_page>
    <externURL oa_var="s_external_url" customized="yes">http://myhost.mydomain.com:8000</externURL>
    Run AutoConfig and start application tier.
    Is there a better and supported solution for this?
    2) Concurrent managers do not work correctly as they have still old node names (used in PCP in the source system). Workaround used:
    1. Logon to EBS web GUI and remove all nodes from all concurrent managers.
    2. Shutdown application tier. Verify that all concurrent managers have been shutdown. If not, kill the processes manually
    3. As apps user run cmclean.sql
    4. Restart application tier
    Is there a better solution for this?
    3) Database changes from ARCHIVELOG mode to nonarchivelog mode in the target system. Is there anyway to prevent this?
    4) Also, we would like to perform a full clone (app + db tiers) from production without shutting down the application. Is this possible? What would be the best documents to describe this? In Production, we have Oracle Data Guard setup with physical standby as per "Oracle Tech Note: Business Continuity for Oracle E-Business Release 12 Using Oracle 11g Physical Standby Database [ID 1070033.1]". This can be used when performing a hot clone for the database, right? What about the application tier? Steps described in 406982.1 include running AutoConfig in which application tier should be down. Does the application need to be down when running "Maintain Snapshot Information"?
    5) One final question (not related to cloning). Oracle Enterprise Manager console webUI has recently stopped working in IE8. E.g. https://myhost.mydomain.com:5501/em gives "Page cannot be displayed". This was working correctly last week. In Firefox, the same link is working fine. Any ideas how to fix this?
    Thanks for your answers in advance.
    BR,
    TH

    1) Home page cannot be accessed as application tier $CONTEXT_FILE still contains "https" and ssl termination settings.
    Workaround:
    Modify (with text editor) Application Tier $CONTEXT_FILE as follows.
    <webentryurlprotocol oa_var="s_webentryurlprotocol" customized="yes">http</webentryurlprotocol>
    <sslterminator oa_var="s_enable_sslterminator">#</sslterminator>
    <login_page oa_var="s_login_page" customized="yes">http://myhost.mydomain.com:8000/OA_HTML/AppsLogin</login_page>
    <externURL oa_var="s_external_url" customized="yes">http://myhost.mydomain.com:8000</externURL>
    Run AutoConfig and start application tier.
    Is there a better and supported solution for this?No, you need to edit the context file manually and run AutoConfig.
    2) Concurrent managers do not work correctly as they have still old node names (used in PCP in the source system). Workaround used:
    1. Logon to EBS web GUI and remove all nodes from all concurrent managers.
    2. Shutdown application tier. Verify that all concurrent managers have been shutdown. If not, kill the processes manually
    3. As apps user run cmclean.sql
    4. Restart application tier
    Is there a better solution for this?You are following the best approach. You could update the node details from the backend if you want.
    3) Database changes from ARCHIVELOG mode to nonarchivelog mode in the target system. Is there anyway to prevent this?By default, Rapid Clone will create the target database in noarchivelog mode.
    4) Also, we would like to perform a full clone (app + db tiers) from production without shutting down the application. Is this possible? What would be the best documents to describe this? In Production, we have Oracle Data Guard setup with physical standby as per "Oracle Tech Note: Business Continuity for Oracle E-Business Release 12 Using Oracle 11g Physical Standby Database [ID 1070033.1]". This can be used when performing a hot clone for the database, right? Correct.
    What about the application tier? Steps described in 406982.1 include running AutoConfig in which application tier should be down. Does the application need to be down when running "Maintain Snapshot Information"?You can copy the application tier node files while the application is up. And, you do not need to shutdown the application to run "Maintain Snapshot Information".
    5) One final question (not related to cloning). Oracle Enterprise Manager console webUI has recently stopped working in IE8. E.g. https://myhost.mydomain.com:5501/em gives "Page cannot be displayed". This was working correctly last week. In Firefox, the same link is working fine. Any ideas how to fix this?
    If it is working from one browser, then it should not be an EM issue. Have you tried from a different client and see if this works? Have you changed any setting in your IE browser? Please make sure you add the EM URL to the trusted sites list.
    Thanks,
    Hussein

  • [SOLVED] Basic question about x2go, freenx, etc. compatibility

    My goal is to simply enable remote desktop on my soon to be headless server. Given the number of posts here at Arch explaining the trouble with freenx and the Arch support of x2go, I'm confused there is not more talk about their compatibility. And as I've just discovered, they're not:
    "Various open source terminal server projects such as x2go also use the NX protocol; however, x2go is not compatible with other NX servers and clients." (NX Technology)
    This leaves me in a bit of a pickle. CentOS doesn't support x2go, and Arch doesn't support freenx. What's the best interoperable solution then? Either a sever app which supports x2go or a client app that supports NXX?
    Last edited by xtian (2013-09-17 21:56:10)

    xtian wrote:Speaking of way of doing things. CentOSers are very persnickty about how you're supposed to maintain your system in terms of non-core packages etc. etc. And x2go is not coming up in the forum, wiki, or in the repositories (via the commanline tool yum). Read the response to my question about installing vim7.4. Hell, you can do _whatever you want_ to your system, but that doesn't mean anyone's going to help you when you run into trouble.
    That comment strikes me as perfectly reasonable. The comment is pointing out that you are trying to use the wrong tool to do the job. The tool in this case is the distro - CentOS is not intended to be used in this way (for this job). Of course, if you insist on using a spanner to hammer nails, you are free to do so. But you can't really expect your local DIY shop to help you use the spanner when the nails don't go in straight rather than suggesting you use a hammer instead.
    It is just like somebody who comes here and asks how they can stick with a known-stable set of packages while getting security updates. That's not what Arch is designed for so if you try to use it that way, you'll have a hard time. Of course, you are free to do so if you wish. But if you ask for help, you'll be pointed to another distro because that is the right answer.
    It has nothing to do with being "persnickty". The answer is the most helpful answer somebody can give you.
    Note: I'm assuming the description of CentOS, Fedora etc. is correct. I know the description of Fedora to be correct but I don't actually know anything about CentOS. But on the assumption that description is also correct, that answer is the most helpful answer somebody could give you, even if it is not the answer you wanted to hear.
    Last edited by cfr (2013-09-10 00:33:54)

  • Some questions about javacard 2.1.1 and smartcardio

    Hello i have some question about java card 2.1.1 and the smartcardio package.
    1.) I want to sign a message with the Signature.ALG_RSA_SHA_PKCS1 algorithm. I use the following code in the applet to sign the message:
    final static byte P1_CREATION_MODE = (byte) 0x01;
    final static byte INS_SIGN_MODE = (byte) 0x60;
    final static byte SmartCard_CLA = (byte) 0xB0;
    private void signMessage(APDU apdu) {
            byte[] buffer = apdu.getBuffer();
            byte byteRead = (byte) (apdu.setIncomingAndReceive());
            signature.init(privateKey, Signature.MODE_SIGN);
            short length = signature.sign(buffer, ISO7816.OFFSET_CDATA, byteRead, buffer, (short) 0);
            apdu.setOutgoingLength((short) length);
            apdu.sendBytesLong(buffer, (short) ISO7816.OFFSET_CDATA, (short) length);
            apdu.setOutgoing();
        }On the host side I use the following code to connect to the card and to send the sign apdu:
    if (TerminalFactory.getDefault().terminals().list().size() == 0) {
                LOGGER.log(Level.SEVERE, "No reader present");
                throw new NoSuchCardReader();
            /* Select the first terminal*/
            CardTerminal terminal = TerminalFactory.getDefault().terminals().list().get(0);
            /* Is a card present? */
            if (!terminal.isCardPresent()) {
                LOGGER.log(Level.SEVERE, "No Card present!");
                throw new NoSuchCard();
            /* Set the card protocol */
         Card card = terminal.connect("*");
            ATR atr = card.getATR();
            LOGGER.fine(getHexString(atr.getBytes()));
            LOGGER.fine(getHexString(atr.getHistoricalBytes()));
            CardChannel channel = card.getBasicChannel();
            CommandAPDU cmd = new CommandAPDU((byte) 0xb0, (byte) 0x60, (byte) 0x01, (byte) 0x00, new String("datadatdatadata").getBytes(), (byte) 0x40);
         ResponseAPDU response = channel.transmit(cmd);
            card.disconnect(false);But this does not work and i got the following error
    javax.smartcardio.CardException: sun.security.smartcardio.PCSCException: Unknown error 0x8010002f
            at sun.security.smartcardio.ChannelImpl.doTransmit(ChannelImpl.java:202)
            at sun.security.smartcardio.ChannelImpl.transmit(ChannelImpl.java:73)
            at de.upb.client.smartmeter.SmartMeter.initSmartCardApplet(SmartMeter.java:114)
            at de.upb.client.smartmeter.SmartMeterApplikation.main(SmartMeterApplikation.java:39)
    Caused by: sun.security.smartcardio.PCSCException: Unknown error 0x8010002f
            at sun.security.smartcardio.PCSC.SCardTransmit(Native Method)
            at sun.security.smartcardio.ChannelImpl.doTransmit(ChannelImpl.java:171)
            ... 3 more2.) 3Des encryption
    I want to use the 3Des algorithm to encrypt my data. I use
    keyDES = (DESKey) KeyBuilder.buildKey(KeyBuilder.TYPE_DES,
                        KeyBuilder.LENGTH_DES3_2KEY, false);
    cipherDES = Cipher.getInstance(Cipher.ALG_DES_CBC_ISO9797_M2, false);But i do not know what is the aquivalent on the host side??
    3.) Another problem is that i am not able to send the modulus of a public key from the host applikation to the smard card
    new CommandAPDU((byte) 0xb0, (byte) 0x20, (byte) 0x01, (byte) 0x00, modulus.toByteArray()); // create the apdu
    // the method in the applet
    private void setServerKeyMod(APDU apdu) {
            byte[] buffer = apdu.getBuffer();
            try {
                byte byteRead = (byte) (apdu.setIncomingAndReceive());
                short off = ISO7816.OFFSET_CDATA;
                // strip of any integer padding
                if (buffer[off] == 0) {
                    off++;
                    byteRead--;
                publicKeyServer.setModulus(buffer, off, byteRead);
            } catch (APDUException ex) {
                ISOException.throwIt((short) (SW_APDU_EXCEPTION + ex.getReason()));
        }The error code is 6700
    4.) My last problem ist, that i am not able to use a value bigger than 0x7F as the ne field in the apducommand, because i get the following error
    CommandAPDU((byte) 0xb0, (byte) 0x60, (byte) 0x01, (byte) 0x00, data, (byte) 0xff);
    java.lang.IllegalArgumentException: ne must not be negative
            at javax.smartcardio.CommandAPDU.<init>(CommandAPDU.java:371)
            at javax.smartcardio.CommandAPDU.<init>(CommandAPDU.java:252)I thought that it this should be possible in order to use all the bytes of the response apdu.
    If you need more code to help please let me know.
    Cheers
    Edited by: 858145 on 06.07.2011 08:23

    2) What is PKCS? what is the difference between
    PKCS#11 and PKCS#15??PKCS is the abbreviation of "Public-Key Cryptography Standards"
    PKCS #11: Cryptographic Token Interface Standard
    See http://www.rsasecurity.com/rsalabs/node.asp?id=2133
    PKCS #15: Cryptographic Token Information Format Standard
    http://www.rsasecurity.com/rsalabs/node.asp?id=2141
    If you want to use yor smartcard as secure token it doesn't have to be a JavaCard.
    BTW: I don't remember a way to access PKCS#15 tokens on a JavaCard from within an oncard JavaCard program. If you want to use keys in your oncard program, you have to transfer it onto the card or generate it oncard and export the public key by your own oncard/offcard code.
    Jan

  • Question about "synchronized" and "wait"

    Hello, everyone!
    I have seen a piece of code like this,
    synchronized (lock)
    //do operation 1
    lock.wait();
    //do operation 2
    I think in the above piece of code, when a thead finished operation 1, it will release the lock and let other threads waiting for the lock have chance to run the same block of code. Am I correct?
    If I am correct, I have a further question, a "synchronized" block means a set of operations that can not be interrupted, but when invoke "wait" method, the thread running in the "synchronized" block will be terminated (interrupted) by release the lock and other threads will have chance to enter the "synchronized" block. In short, the execution inside the "synchronized" block will be interrupted. So, I wonder whether the above piece of code is correct and conforms to the principle of "synchronized". And what is its real use?
    Thanks in advance,
    George

    Thanks, pkwooster buddy!You're welcome
    I just wondered whether "wait inside a synchronized
    block" technology is thread safe. Please look at the
    following example,wait and synchronized are thread safe.
    public class Foo {
    int mVal= 0;
    public final Object mLock = ...;
    public void doIt() {
    synchronized(mLock) {
    mVal = ...;
    mLock.wait();
    if (mVal == ...) {
    // do something
    } else {
    // do something else
    }If we have two threads, T1 and T2, enter the block in
    their respective order, and T1 is woken up first, T2
    may have tampered with T1's execution path because T2
    changed mVal while T1 was asleep. So T2 manipulate
    instance field mVal is a side-effect.when you do the wait() you give up the lock and the other threads get a chance to run. When you exit the wait() you get the new value of the myVal variable which may have been changed. This is exactly what you want. To make that not thread save you could do
    int temp = myVal;
    wait();
    if(temp == ...)in this case the variable temp contains the old vale of myVal.
    >
    I think the most safest way is never wait inside a
    synchronized block, but it is less efficient. What do
    you think about the trick of wait inside a
    synchronized block? I think you are very experienced
    in thread field from your kind reply.
    Thanks in advance,
    Georgewait(), notify() and notifyAll() are very useful. You need them when you want threads to cooperate in an predictable manner. I recommend that you review the section on consumer and producer classes and wait and notify in the Threads Tutorial. It gives good examples. For a practical example of this you could also take a look at my Multithreaded Server Example. It implements a simple chat server that switches String messages. Look especially at the send(), doSend() and popMessage() methods in the StreamConnection class. These allow the receive thread of one user to send messages out using the send thread of another user. If you have questions about that example, please post the questions on that topic.
    Hope this helps.

  • Question about C array initialization

    I understand that the statement
    char string[] = "chars";
    initializes string[5] to 0 ('\000'). My question is does the statement
    char *strings[] = { "string1", "string2", "string3" };
    initialize strings[3] to (void *) 0, i.e. NULL? I can't find the answer to this question in the ansi standard. GCC seems to tack on a NULL pointer at the end (even with the -ansi and -pedantic-errors flags), which is really convenient for finding the boundary, but I'm not sure whether it's a GCC thing or an official C thing. I see where the standard talks about terminating char arrays initialized by a string literal with a null byte, but it doesn't talk about the analogous case with arrays of pointers.
    Last edited by nbtrap (2012-06-25 03:18:20)

    nbtrap wrote:
    Not necessarily. A declaration like:
    char arr[3] = "str";
    doesn't get null-terminated.
    It doesn't get null-terminated because you don't leave enough room in the array for the null character. "char arr[3]" can only contain 3 characters, the same way that "char arr[2] = "str" will only contain 2. The second example generates a warning whereas the first does not, but only because it is very common to work with non-null-terminated strings.
    nbtrap wrote:
    And besides, my point is that initializing strings[3] *would* make sense for the same reason that intializing
    char foo[] = "bar";
    with a terminating null byte *does* make sense.
    I know that arrays of pointers are not the same. My questions assumes that much. The fact of the matter is, however, GCC terminates pointer arrays of unknown size with a null pointer, and my question is simply "is this an ansi C thing or a GCC thing?".
    In fact, it seems that GCC terminates all arrays of unknown size that are explicitly initialized with the appropriate number of null bytes. For example:
    struct tag { int i; char c; char *str; } tags[] = {
    { 1, 'a', "string1" },
    { 2, 'b', "string2" },
    { 3, 'c', "string3" }
    initializes tags[3] to sizeof (struct tag) null bytes. Try it for yourself.
    I get the following:
    test.c
    #include <stdio.h>
    int
    main(int argc, char * * argv)
    int i;
    char *strings[] = { "string1", NULL, "string3"};
    for (i=0;i<5;i++)
    printf("strings[%d]: %s\n", i, strings[i]);
    return 0;
    output
    strings[0]: string1
    strings[1]: (null)
    strings[2]: string3
    Segmentation fault
    test2.c
    #include <stdio.h>
    #include <string.h>
    int
    main(int argc, char * * argv)
    int i;
    struct tag {int i; char c; char *str;};
    struct tag null;
    memset(&null, 0, sizeof(struct tag));
    struct tag tags[] =
    { 1, 'a', "string1" },
    // { 2, 'b', "string2" },
    null,
    { 3, 'c', "string3" }
    for (i=0;i<5;i++)
    printf(
    "tags[%d]: (%p) %1d %c %s\n",
    i, tags + i, tags[i].i, tags[i].c, tags[i].str
    return 0;
    output
    tags[0]: (0x7fffd2df4e80) 1 a string1
    tags[1]: (0x7fffd2df4e90) 0 (null)
    tags[2]: (0x7fffd2df4ea0) 3 c string3
    tags[3]: (0x7fffd2df4eb0) 0 (null)
    Segmentation fault
    The above behavior appears to conflict.
    Given that string constants in C are defined as null-terminated, i.e. "str" is equivalent to "{'s', 't', 'r', '\0'}", the assignment 'arr[] = "str"' explicitly includes a null terminator. The other examples above do not include such a terminator. Even if it would be convenient sometimes, the standard should adopt a minimally invasive approach. It's easy to add a NULL at the end of an array declaration, but impossible to remove an extra element from such a declaration.
    This may be informative too:
    test3.c
    #include <stdio.h>
    #include <string.h>
    int
    main(int argc, char * * argv)
    char str[] = "test";
    char *strings[] = {"string1", NULL, "string3"};
    struct tag {int i; char c; char *str;};
    struct tag null;
    memset(&null, 0, sizeof(struct tag));
    struct tag tags[] =
    { 1, 'a', "string1" },
    // { 2, 'b', "string2" },
    null,
    { 3, 'c', "string3" }
    printf(
    "str\n size: %lu\n length: %lu\n"
    "strings\n size: %lu\n length: %lu\n"
    "tags\n size: %lu\n length: %lu\n",
    sizeof(str), sizeof(str)/sizeof(char),
    sizeof(strings), sizeof(strings)/sizeof(char *),
    sizeof(tags), sizeof(tags)/sizeof(struct tag)
    return 0;
    output
    str
    size: 5
    length: 5
    strings
    size: 24
    length: 3
    tags
    size: 48
    length: 3
    The string length (actual number of chars in array) is reported as 5 ('t', 'e', 's', 't', '\0'), which is expected. The array of strings and tags are both reported as 3, even though you can access a null value after the last initialized index of the tags array. If that null value was really supposed to be there, it should be accounted for using sizeof, just as the null character is in the string.
    Maybe the ultimate null element of the tags array is some artefact of memory alignment.

  • [SOLVED] Question about GCC error messages.

    I'm currently taking a course in C programming, and I have  a question about the error messages returned by GCC.
    When ever i try to compile a program containing syntax errors, i get cryptic and not very helpfull error messages.
    If i try to compile:
    #include <stdio.h>
    int main(void)
    int i;
    i = 0
    return 0;
    I get following from GCC:
    error.c: In function â:
    error.c:8:2: error: expected â before â
    But shouldn't the message be something like:
    error.c: In function 'main':
    error.c:8:2: error: expected ; before 'return'
    or am I mistaken?
    /AcId
    Last edited by AcId (2010-10-13 17:48:19)

    Woah. That is very strange. I've never seen that before.
    I assume you're using Arch Linux. What text editor did you use to write the code? Which terminal application are you using?
    ...those questions are probably unrelated to the problem, but we might as well get them out of the way.

  • Posting about terminal

    Hi. Does anyone know where in the discussion boards I should post a question about using terminal (unix commands). Also is there any place for people who are studying for apple certification to post questions?
    many thanks

    Does anyone know where in the discussion boards I should post a question about using terminal (unix commands).
    Click on Mac OS X Technologies from the main page, and then UNIX.
    is there any place for people who are studying for apple certification to post questions?
    No.
    (48731)

  • A simple question about DAQ data sampling

    Hi all:
    Now I meet a very basic question about DAQ sampling.  I am using NI PCI-6040E DAQ card, SCXI-1001 chasis, SCXI-1102, SCXI1300 terminal block, and SCXI1160 relay module.
    I am not sure , is it possible if I want to test a voltage (1 volt) on a resistor. Now I am connecting the Ch0+ to resistor+ (24 volt), and connecting Ch0- to resistor-(23 volt). So the voltage between resistor+ and resistor- should be 1volt.  Actually, It is working at the first, but after I want to test 9 channels based on this connection. The Measurement & Automation can't read data from the DAQ card. (when I test it by multimeter, I can get the voltage data on the Ch0+ and Ch0- of SCXI1300 terminal block).
    That's strange, does anybody know what' s wrong about it?/
    Thanks a lot

    Hi hanwei,
    According to the specifications of the PCI 6040E (page 3), the input signal and common mode voltage should never exceed 11V from ground.  I believe this is the reason you are able to measure the potential of a battery but not the 24V signal (even though the differential value is only 1V). 
    Best Regards
    Hani R.
    Applications Engineer
    National Instruments

Maybe you are looking for

  • Help with getting GB to recognise Yamaha NP30 via Tascam US-122MKII?

    I am using a midi OUT connection from my Yamaha NP30 keyboard to the midi IN of a Tascam US-122mkII interface. The Tascam is connected to my Mac via USB (port 1). Tascam software is installed correctly. When I open GB and select 'Piano' in 'New Proje

  • Problem with frame capture fluence

    Hi, im trying to write simple app which captures screen from my device. The device is TV tuner to which is connected an analog camera by composite. When usin JMStudio preview on the device look nice and fluent. When I record from the source to jpg fi

  • Will all new macbook pro come with Lion pre-installed?

    I will be purchasing a new MacBook Pro in the next couple of weeks. I presume it will come with OSX Lion pre-installed. I would prefer to have only Snow Leopard installed since I won't be upgrading my other Mac Pro immediately. Will it just be necess

  • Merging Mac and PC libraries

    Help - I have one iTunes library on my work PC, and another (different) one on my home MacBook Pro - is there any way to import the contents of the PC library to the Mac one, without overwriting the contents of the Mac one? The PC is currently my iPo

  • Se calienta mi iphone

    por favor alguien ayudeme mi iphone 4s se calienta mucho en la parte derecha del mismo ya le baje el brillo le quite las notificaciones y sigue asi que hago